From 8a979f79a5f139880f17f296ace90bcfff025c4b Mon Sep 17 00:00:00 2001 From: Tom Finegan Date: Tue, 1 Dec 2020 13:01:33 -0800 Subject: [PATCH] Draco v1.4.0 --- BUILDING.md | 78 +- CMAKE.md | 106 + CMakeLists.txt | 1869 +++++++-------- LICENSE | 54 +- README.md | 26 + cmake/draco-config.cmake.template | 2 + cmake/draco.pc.template | 11 + cmake/draco_build_definitions.cmake | 117 + cmake/draco_cpu_detection.cmake | 28 + cmake/draco_emscripten.cmake | 185 ++ cmake/draco_flags.cmake | 238 ++ cmake/draco_helpers.cmake | 110 + cmake/draco_install.cmake | 79 + cmake/draco_intrinsics.cmake | 96 + cmake/draco_options.cmake | 239 ++ cmake/draco_sanitizer.cmake | 32 + cmake/draco_targets.cmake | 345 +++ cmake/draco_tests.cmake | 188 +- cmake/draco_variables.cmake | 64 + cmake/toolchains/aarch64-linux-gnu.cmake | 14 + cmake/toolchains/android-ndk-common.cmake | 20 +- cmake/toolchains/android.cmake | 39 + cmake/toolchains/arm-linux-gnueabihf.cmake | 15 + .../toolchains/arm64-android-ndk-libcpp.cmake | 12 +- .../toolchains/armv7-android-ndk-libcpp.cmake | 12 +- cmake/toolchains/x86-android-ndk-libcpp.cmake | 12 +- .../x86_64-android-ndk-libcpp.cmake | 12 +- docs/_config.yml | 4 +- docs/_layouts/home.html | 4 +- docs/assets/js/ASCIIMathML.js | 2107 ++++++++++------- docs/spec/00.00.01.version.md | 2 +- docs/spec/README.md | 2 +- docs/spec/variable.descriptions.md | 4 - docs/unity/UNITY.md | 265 +++ docs/unity/images/add_component.png | Bin 0 -> 20304 bytes docs/unity/images/add_light.png | Bin 0 -> 29810 bytes docs/unity/images/add_material.png | Bin 0 -> 23659 bytes .../images/add_mesh_filter_component.png | Bin 0 -> 17065 bytes .../images/add_mesh_renderer_component.png | Bin 0 -> 11112 bytes docs/unity/images/allow_unsafe_windows_1.png | Bin 0 -> 93261 bytes docs/unity/images/allow_unsafe_windows_2.png | Bin 0 -> 57681 bytes .../images/attach_draco_decode_object.png | Bin 0 -> 19449 bytes docs/unity/images/black_bunny.png | Bin 0 -> 71780 bytes .../create_empty_game_object_windows.png | Bin 0 -> 60324 bytes docs/unity/images/default_material.png | Bin 0 -> 11177 bytes docs/unity/images/light_position.png | Bin 0 -> 142287 bytes docs/unity/images/lit_bunny.png | Bin 0 -> 127503 bytes docs/unity/images/mesh_filter_added.png | Bin 0 -> 11430 bytes docs/unity/images/mesh_renderer_added.png | Bin 0 -> 32391 bytes docs/unity/images/new_project_windows_1.png | Bin 0 -> 57976 bytes docs/unity/images/new_project_windows_2.png | Bin 0 -> 27051 bytes docs/unity/images/pink_bunny.png | Bin 0 -> 69921 bytes docs/unity/images/select_material.png | Bin 0 -> 21395 bytes docs/unity/images/set_camera_position.png | Bin 0 -> 10076 bytes docs/unity/images/unity_empty.png | Bin 0 -> 25743 bytes javascript/draco_decoder.js | 20 +- javascript/draco_decoder.wasm | Bin 281481 -> 285512 bytes javascript/draco_decoder_gltf.js | 18 +- javascript/draco_decoder_gltf.wasm | Bin 194983 -> 193050 bytes javascript/draco_encoder.js | 20 +- javascript/draco_wasm_wrapper.js | 229 +- javascript/draco_wasm_wrapper_gltf.js | 228 +- javascript/example/DRACOLoader.js | 4 +- javascript/npm/draco3d/README.md | 76 +- javascript/npm/draco3d/draco_decoder.wasm | Bin 0 -> 285512 bytes .../npm/draco3d/draco_decoder_nodejs.js | 177 +- javascript/npm/draco3d/draco_encoder.wasm | Bin 0 -> 338831 bytes .../npm/draco3d/draco_encoder_nodejs.js | 152 +- .../draco3d/draco_minimal_decoder_example.js | 32 + .../draco_minimal_encoder_decoder_example.js | 49 + .../draco3d/draco_minimal_encoder_example.js | 31 + .../npm/draco3d/draco_nodejs_example.js | 61 +- javascript/npm/draco3d/package.json | 2 +- javascript/npm/draco3dgltf/README.md | 54 +- .../npm/draco3dgltf/draco_decoder_gltf.wasm | Bin 0 -> 193050 bytes .../draco3dgltf/draco_decoder_gltf_nodejs.js | 172 +- javascript/npm/draco3dgltf/draco_encoder.wasm | Bin 0 -> 338831 bytes .../draco3dgltf/draco_encoder_gltf_nodejs.js | 152 +- .../npm/draco3dgltf/draco_nodejs_example.js | 61 +- javascript/npm/draco3dgltf/package.json | 2 +- .../draco_animation_encoding_test.js | 44 +- javascript/time_draco_decode.html | 24 +- maya/draco_maya_wrapper_macos.tar.bz | Bin 0 -> 320558 bytes maya/draco_maya_wrapper_windows.tar.bz | Bin 0 -> 193394 bytes .../attribute_octahedron_transform.cc | 95 +- .../attribute_octahedron_transform.h | 31 +- .../attribute_quantization_transform.cc | 113 +- .../attribute_quantization_transform.h | 38 +- src/draco/attributes/attribute_transform.cc | 22 +- src/draco/attributes/attribute_transform.h | 36 +- src/draco/attributes/geometry_attribute.cc | 12 +- src/draco/attributes/geometry_attribute.h | 17 + .../attributes/attributes_decoder.cc | 22 +- .../attributes/kd_tree_attributes_decoder.cc | 15 +- .../attributes/kd_tree_attributes_encoder.cc | 15 +- .../attributes/kd_tree_attributes_encoder.h | 6 +- .../attributes/normal_compression_utils.h | 133 +- .../mesh_prediction_scheme_data.h | 4 +- ...n_scheme_geometric_normal_predictor_area.h | 9 +- ...h_prediction_scheme_parallelogram_shared.h | 9 +- ...ion_scheme_tex_coords_portable_predictor.h | 7 + .../prediction_scheme_encoder_factory.cc | 13 +- .../prediction_scheme_encoder_interface.h | 6 +- ...rediction_scheme_wrap_decoding_transform.h | 18 +- ...equential_attribute_encoders_controller.cc | 4 +- .../sequential_integer_attribute_decoder.cc | 5 + .../sequential_integer_attribute_encoder.cc | 3 + .../sequential_normal_attribute_decoder.cc | 44 +- .../sequential_normal_attribute_decoder.h | 3 +- .../sequential_normal_attribute_encoder.cc | 10 +- ...quential_quantization_attribute_decoder.cc | 64 +- ...equential_quantization_attribute_decoder.h | 8 +- ...quential_quantization_attribute_encoder.cc | 19 +- .../compression/config/compression_shared.h | 3 + src/draco/compression/config/draco_options.h | 6 +- src/draco/compression/decode.cc | 5 +- src/draco/compression/encode_base.h | 6 +- src/draco/compression/encode_test.cc | 114 +- src/draco/compression/entropy/ans.h | 6 +- .../compression/entropy/rans_symbol_coding.h | 9 +- src/draco/compression/expert_encode.cc | 2 +- src/draco/compression/expert_encode.h | 6 +- .../mesh/mesh_edgebreaker_decoder_impl.cc | 27 +- ...sh_edgebreaker_traversal_valence_decoder.h | 7 +- .../compression/mesh/mesh_encoder_test.cc | 119 +- .../mesh/mesh_sequential_decoder.cc | 5 + .../algorithms/float_points_tree_decoder.cc | 27 +- .../point_cloud/point_cloud_decoder.cc | 10 + .../point_cloud/point_cloud_encoder.cc | 14 +- .../point_cloud_kd_tree_encoding_test.cc | 2 +- .../point_cloud_sequential_encoding_test.cc | 3 +- src/draco/core/bounding_box.cc | 13 +- src/draco/core/bounding_box.h | 42 +- src/draco/core/draco_index_type_vector.h | 2 +- src/draco/core/draco_version.h | 2 +- src/draco/core/macros.h | 17 +- src/draco/core/varint_decoding.h | 1 + src/draco/core/vector_d.h | 8 +- src/draco/io/file_utils.cc | 21 +- src/draco/io/file_utils.h | 3 +- src/draco/io/file_utils_test.cc | 13 + src/draco/io/file_writer_utils.cc | 57 + src/draco/io/file_writer_utils.h | 38 + src/draco/io/mesh_io.h | 6 +- src/draco/io/parser_utils.cc | 46 +- src/draco/io/parser_utils.h | 4 +- src/draco/io/ply_decoder.cc | 48 +- src/draco/io/ply_decoder.h | 15 +- src/draco/io/ply_decoder_test.cc | 2 + src/draco/io/ply_reader.cc | 2 +- src/draco/io/stdio_file_writer.cc | 5 +- src/draco/io/stdio_file_writer_test.cc | 31 +- .../animation_decoder_webidl_wrapper.h | 6 +- .../emscripten/decoder_functions.js | 33 + .../emscripten/decoder_webidl_wrapper.cc | 27 +- .../emscripten/decoder_webidl_wrapper.h | 31 +- .../emscripten/draco_web_decoder.idl | 26 +- .../emscripten/draco_web_encoder.idl | 4 + .../emscripten/encoder_webidl_wrapper.cc | 12 + .../emscripten/encoder_webidl_wrapper.h | 8 +- src/draco/javascript/emscripten/version.js | 2 +- src/draco/maya/draco_maya_plugin.cc | 4 +- src/draco/maya/draco_maya_plugin.h | 10 +- src/draco/mesh/corner_table.cc | 7 +- src/draco/mesh/mesh_cleanup.cc | 315 ++- src/draco/mesh/mesh_cleanup.h | 24 +- src/draco/mesh/mesh_cleanup_test.cc | 63 +- src/draco/mesh/mesh_stripifier.h | 6 +- src/draco/metadata/metadata_decoder.cc | 10 +- src/draco/point_cloud/point_cloud.cc | 12 +- src/draco/point_cloud/point_cloud_test.cc | 1 + src/draco/tools/draco_encoder.cc | 4 +- src/draco/unity/draco_unity_plugin.cc | 4 +- src/draco/unity/draco_unity_plugin.h | 4 +- src/draco/unity/draco_unity_plugin_test.cc | 2 +- testdata/Box.ply | Bin 0 -> 1661 bytes testdata/cube_quads.ply | 23 + testdata/float_inf_point_cloud.ply | 23 + testdata/test_nm.obj.edgebreaker.cl10.2.2.drc | Bin 0 -> 1124 bytes testdata/test_nm.obj.edgebreaker.cl4.2.2.drc | Bin 0 -> 1143 bytes testdata/test_nm.obj.sequential.cl3.2.2.drc | Bin 0 -> 1613 bytes unity/Plugin/libdracodec_unity_android.tar.bz | Bin 0 -> 7327467 bytes unity/Plugin/libdracodec_unity_ios.tar.bz | Bin 0 -> 1613654 bytes unity/Plugin/libdracodec_unity_macos.tar.bz | Bin 0 -> 189820 bytes unity/Plugin/libdracodec_unity_windows.tar.bz | Bin 0 -> 109304 bytes unity/README.md | 4 +- 186 files changed, 6986 insertions(+), 3206 deletions(-) create mode 100644 CMAKE.md create mode 100644 cmake/draco-config.cmake.template create mode 100644 cmake/draco.pc.template create mode 100644 cmake/draco_build_definitions.cmake create mode 100644 cmake/draco_cpu_detection.cmake create mode 100644 cmake/draco_emscripten.cmake create mode 100644 cmake/draco_flags.cmake create mode 100644 cmake/draco_helpers.cmake create mode 100644 cmake/draco_install.cmake create mode 100644 cmake/draco_intrinsics.cmake create mode 100644 cmake/draco_options.cmake create mode 100644 cmake/draco_sanitizer.cmake create mode 100644 cmake/draco_targets.cmake create mode 100644 cmake/draco_variables.cmake create mode 100644 cmake/toolchains/aarch64-linux-gnu.cmake create mode 100644 cmake/toolchains/android.cmake create mode 100644 cmake/toolchains/arm-linux-gnueabihf.cmake create mode 100644 docs/unity/UNITY.md create mode 100644 docs/unity/images/add_component.png create mode 100644 docs/unity/images/add_light.png create mode 100644 docs/unity/images/add_material.png create mode 100644 docs/unity/images/add_mesh_filter_component.png create mode 100644 docs/unity/images/add_mesh_renderer_component.png create mode 100644 docs/unity/images/allow_unsafe_windows_1.png create mode 100644 docs/unity/images/allow_unsafe_windows_2.png create mode 100644 docs/unity/images/attach_draco_decode_object.png create mode 100644 docs/unity/images/black_bunny.png create mode 100644 docs/unity/images/create_empty_game_object_windows.png create mode 100644 docs/unity/images/default_material.png create mode 100644 docs/unity/images/light_position.png create mode 100644 docs/unity/images/lit_bunny.png create mode 100644 docs/unity/images/mesh_filter_added.png create mode 100644 docs/unity/images/mesh_renderer_added.png create mode 100644 docs/unity/images/new_project_windows_1.png create mode 100644 docs/unity/images/new_project_windows_2.png create mode 100644 docs/unity/images/pink_bunny.png create mode 100644 docs/unity/images/select_material.png create mode 100644 docs/unity/images/set_camera_position.png create mode 100644 docs/unity/images/unity_empty.png create mode 100644 javascript/npm/draco3d/draco_decoder.wasm create mode 100755 javascript/npm/draco3d/draco_encoder.wasm create mode 100644 javascript/npm/draco3d/draco_minimal_decoder_example.js create mode 100644 javascript/npm/draco3d/draco_minimal_encoder_decoder_example.js create mode 100644 javascript/npm/draco3d/draco_minimal_encoder_example.js create mode 100644 javascript/npm/draco3dgltf/draco_decoder_gltf.wasm create mode 100755 javascript/npm/draco3dgltf/draco_encoder.wasm create mode 100644 maya/draco_maya_wrapper_macos.tar.bz create mode 100644 maya/draco_maya_wrapper_windows.tar.bz create mode 100644 src/draco/io/file_writer_utils.cc create mode 100644 src/draco/io/file_writer_utils.h create mode 100644 src/draco/javascript/emscripten/decoder_functions.js create mode 100644 testdata/Box.ply create mode 100644 testdata/cube_quads.ply create mode 100644 testdata/float_inf_point_cloud.ply create mode 100644 testdata/test_nm.obj.edgebreaker.cl10.2.2.drc create mode 100644 testdata/test_nm.obj.edgebreaker.cl4.2.2.drc create mode 100644 testdata/test_nm.obj.sequential.cl3.2.2.drc create mode 100644 unity/Plugin/libdracodec_unity_android.tar.bz create mode 100644 unity/Plugin/libdracodec_unity_ios.tar.bz create mode 100644 unity/Plugin/libdracodec_unity_macos.tar.bz create mode 100644 unity/Plugin/libdracodec_unity_windows.tar.bz diff --git a/BUILDING.md b/BUILDING.md index 2eb0da25..d33917b8 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -7,6 +7,10 @@ _**Contents**_ * [Debugging and Optimization](#debugging-and-optimization) * [Googletest Integration](#googletest-integration) * [Javascript Encoder/Decoder](#javascript-encoderdecoder) + * [WebAssembly Decoder](#webassembly-decoder) + * [WebAssembly Mesh Only Decoder](#webassembly-mesh-only-decoder) + * [WebAssembly Point Cloud Only Decoder](#webassembly-point-cloud-only-decoder) + * [iOS Builds](#ios-builds) * [Android Studio Project Integration](#android-studio-project-integration) * [Native Android Builds](#native-android-builds) * [vcpkg](#vcpkg) @@ -52,16 +56,16 @@ Windows ------- On a Windows box you would run the following command to generate Visual Studio -2017 projects: +2019 projects: ~~~~~ bash -C:\Users\nobody> cmake ../ -G "Visual Studio 15 2017" +C:\Users\nobody> cmake ../ -G "Visual Studio 16 2019" -A Win32 ~~~~~ -To generate 64-bit Windows Visual Studio 2017 projects: +To generate 64-bit Windows Visual Studio 2019 projects: ~~~~~ bash -C:\Users\nobody> cmake ../ -G "Visual Studio 15 2017 Win64" +C:\Users\nobody> cmake ../ -G "Visual Studio 16 2019" -A x64 ~~~~~ @@ -85,49 +89,42 @@ $ cmake ../ A makefile using release (optimized) flags is produced like this: ~~~~~ bash -$ cmake ../ -DCMAKE_BUILD_TYPE=release +$ cmake ../ -DCMAKE_BUILD_TYPE=Release ~~~~~ A release build with debug info can be produced as well: ~~~~~ bash -$ cmake ../ -DCMAKE_BUILD_TYPE=relwithdebinfo +$ cmake ../ -DCMAKE_BUILD_TYPE=RelWithDebInfo ~~~~~ And your standard debug build will be produced using: ~~~~~ bash -$ cmake ../ -DCMAKE_BUILD_TYPE=debug +$ cmake ../ -DCMAKE_BUILD_TYPE=Debug ~~~~~ To enable the use of sanitizers when the compiler in use supports them, set the sanitizer type when running CMake: ~~~~~ bash -$ cmake ../ -DSANITIZE=address +$ cmake ../ -DDRACO_SANITIZE=address ~~~~~ Googletest Integration ---------------------- Draco includes testing support built using Googletest. To enable Googletest unit -test support the ENABLE_TESTS cmake variable must be turned on at cmake +test support the DRACO_TESTS cmake variable must be turned on at cmake generation time: ~~~~~ bash -$ cmake ../ -DENABLE_TESTS=ON +$ cmake ../ -DDRACO_TESTS=ON ~~~~~ -When cmake is used as shown in the above example the Draco cmake file assumes -that the Googletest source directory is a sibling of the Draco repository. To -change the location to something else use the GTEST_SOURCE_DIR cmake variable: - -~~~~~ bash -$ cmake ../ -DENABLE_TESTS=ON -DGTEST_SOURCE_DIR=path/to/googletest -~~~~~ - -To run the tests just execute `draco_tests` from your toolchain's build output -directory. +When cmake is used as shown in the above example the googletest directory must +be a sibling of the Draco repository root directory. To run the tests execute +`draco_tests` from your build output directory. WebAssembly Decoder ------------------- @@ -144,7 +141,7 @@ $ export EMSCRIPTEN=/path/to/emscripten/tools/parent # Emscripten.cmake can be found within your Emscripten installation directory, # it should be the subdir: cmake/Modules/Platform/Emscripten.cmake -$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake -DENABLE_WASM=ON +$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake -DDRACO_WASM=ON # Build the WebAssembly decoder. $ make @@ -160,7 +157,7 @@ WebAssembly Mesh Only Decoder ~~~~~ bash # cmake command line for mesh only WebAssembly decoder. -$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake -DENABLE_WASM=ON -DENABLE_POINT_CLOUD_COMPRESSION=OFF +$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake -DDRACO_WASM=ON -DDRACO_POINT_CLOUD_COMPRESSION=OFF ~~~~~ @@ -170,7 +167,7 @@ WebAssembly Point Cloud Only Decoder ~~~~~ bash # cmake command line for point cloud only WebAssembly decoder. -$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake -DENABLE_WASM=ON -DENABLE_MESH_COMPRESSION=OFF +$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake -DDRACO_WASM=ON -DDRACO_MESH_COMPRESSION=OFF ~~~~~ @@ -199,8 +196,7 @@ $ make iOS Builds --------------------- -To build Draco for different iOS architectures and simulators for iphone and the simulators - +These are the basic commands needed to build Draco for iOS targets. ~~~~~ bash #arm64 @@ -220,7 +216,8 @@ $ cmake ../ -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/i386-ios.cmake $ make ~~~~~~ -After building the tools they can be merged into fat lib and used in Iphone applications. +After building for each target the libraries can be merged into a single +universal/fat library using lipo, and then used in iOS applications. Native Android Builds @@ -230,24 +227,13 @@ It's sometimes useful to build Draco command line tools and run them directly on Android devices via adb. ~~~~~ bash -# All targets require CMAKE_ANDROID_NDK. It must be set in the environment. -$ export CMAKE_ANDROID_NDK=path/to/ndk - -# arm -$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/armv7-android-ndk-libcpp.cmake +# This example is for armeabi-v7a. +$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/android.cmake \ + -DDRACO_ANDROID_NDK_PATH=path/to/ndk -DANDROID_ABI=armeabi-v7a $ make -# arm64 -$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/arm64-android-ndk-libcpp.cmake -$ make - -# x86 -$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/x86-android-ndk-libcpp.cmake -$ make - -# x86_64 -$ cmake ../ -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/x86_64-android-ndk-libcpp.cmake -$ make +# See the android.cmake toolchain file for additional ANDROID_ABI options and +# other configurable Android variables. ~~~~~ After building the tools they can be moved to an android device via the use of @@ -300,7 +286,8 @@ To add Draco to your project: vcpkg --------------------- -You can download and install Draco using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager: +You can download and install Draco using the +[vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager: git clone https://github.com/Microsoft/vcpkg.git cd vcpkg @@ -308,4 +295,7 @@ You can download and install Draco using the [vcpkg](https://github.com/Microsof ./vcpkg integrate install vcpkg install draco -The Draco port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository. +The Draco port in vcpkg is kept up to date by Microsoft team members and +community contributors. If the version is out of date, please +[create an issue or pull request](https://github.com/Microsoft/vcpkg) on the +vcpkg repository. diff --git a/CMAKE.md b/CMAKE.md new file mode 100644 index 00000000..392c6ce4 --- /dev/null +++ b/CMAKE.md @@ -0,0 +1,106 @@ +# CMake Build System Overview + +[TOC] + +This document provides a general layout of the Draco CMake build system. + +## Core Build System Files + +These files are listed in order of interest to maintainers of the build system. + +- `CMakeLists.txt` is the main driver of the build system. It's responsible + for defining targets and source lists, surfacing build system options, and + tying the components of the build system together. + +- `cmake/draco_build_definitions.cmake` defines the macro + `draco_set_build_definitions()`, which is called from `CMakeLists.txt` to + configure include paths, compiler and linker flags, library settings, + platform speficic configuration, and other build system settings that + depend on optional build configurations. + +- `cmake/draco_targets.cmake` defines the macros `draco_add_library()` and + `draco_add_executable()` which are used to create all targets in the CMake + build. These macros attempt to behave in a manner that loosely mirrors the + blaze `cc_library()` and `cc_binary()` commands. Note that + `draco_add_executable()` is also used for tests. + +- `cmake/draco_emscripten.cmake` handles Emscripten SDK integration. It + defines several Emscripten specific macros that are required to build the + Emscripten specific targets defined in `CMakeLists.txt`. + +- `cmake/draco_flags.cmake` defines macros related to compiler and linker + flags. Testing macros, macros for isolating flags to specific source files, + and the main flag configuration function for the library are defined here. + +- `cmake/draco_options.cmake` defines macros that control optional features + of draco, and help track draco library and build system options. + +- `cmake/draco_install.cmake` defines the draco install target. + +- `cmake/draco_cpu_detection.cmake` determines the optimization types to + enable based on target system processor as reported by CMake. + +- `cmake/draco_intrinsics.cmake` manages flags for source files that use + intrinsics. It handles detection of whether flags are necessary, and the + application of the flags to the sources that need them when they are + required. + +## Helper and Utility Files + +- `.cmake-format.py` Defines coding style for cmake-format. + +- `cmake/draco_helpers.cmake` defines utility macros. + +- `cmake/draco_sanitizer.cmake` defines the `draco_configure_sanitizer()` + macro, which implements support for `DRACO_SANITIZE`. It handles the + compiler and linker flags necessary for using sanitizers like asan and msan. + +- `cmake/draco_variables.cmake` defines macros for tracking and control of + draco build system variables. + +## Toolchain Files + +These files help facilitate cross compiling of draco for various targets. + +- `cmake/toolchains/aarch64-linux-gnu.cmake` provides cross compilation + support for arm64 targets. + +- `cmake/toolchains/android.cmake` provides cross compilation support for + Android targets. + +- `cmake/toolchains/arm-linux-gnueabihf.cmake` provides cross compilation + support for armv7 targets. + +- `cmake/toolchains/arm64-ios.cmake`, `cmake/toolchains/armv7-ios.cmake`, + and `cmake/toolchains/armv7s-ios.cmake` provide support for iOS. + +- `cmake/toolchains/arm64-linux-gcc.cmake` and + `cmake/toolchains/armv7-linux-gcc.cmake` are deprecated, but remain for + compatibility. `cmake/toolchains/android.cmake` should be used instead. + +- `cmake/toolchains/arm64-android-ndk-libcpp.cmake`, + `cmake/toolchains/armv7-android-ndk-libcpp.cmake`, + `cmake/toolchains/x86-android-ndk-libcpp.cmake`, and + `cmake/toolchains/x86_64-android-ndk-libcpp.cmake` are deprecated, but + remain for compatibility. `cmake/toolchains/android.cmake` should be used + instead. + +- `cmake/toolchains/i386-ios.cmake` and `cmake/toolchains/x86_64-ios.cmake` + provide support for the iOS simulator. + +- `cmake/toolchains/android-ndk-common.cmake` and + `cmake/toolchains/arm-ios-common.cmake` are support files used by other + toolchain files. + +## Template Files + +These files are inputs to the CMake build and are used to generate inputs to the +build system output by CMake. + +- `cmake/draco-config.cmake.template` is used to produce + draco-config.cmake. draco-config.cmake can be used by CMake to find draco + when another CMake project depends on draco. + +- `cmake/draco.pc.template` is used to produce draco's pkg-config file. + Some build systems use pkg-config to configure include and library paths + when they depend upon third party libraries like draco. diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ffe36e8..3da2c664 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,25 +1,18 @@ -cmake_minimum_required(VERSION 3.5 FATAL_ERROR) +cmake_minimum_required(VERSION 3.12 FATAL_ERROR) # Draco requires C++11. set(CMAKE_CXX_STANDARD 11) project(draco C CXX) -if(NOT CMAKE_BUILD_TYPE AND NOT IGNORE_EMPTY_BUILD_TYPE) - if(CMAKE_CURRENT_LIST_FILE STREQUAL CMAKE_PARENT_LIST_FILE) - if(NOT MSVC AND NOT XCODE) - message(INFO "|Draco: ignoring empty build type, forcing release mode.") - set(CMAKE_BUILD_TYPE - "Release" - CACHE STRING "Draco overridden build type" FORCE) - endif() - endif() +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) endif() set(draco_root "${CMAKE_CURRENT_SOURCE_DIR}") set(draco_src_root "${draco_root}/src/draco") -set(draco_build_dir "${CMAKE_BINARY_DIR}") +set(draco_build "${CMAKE_BINARY_DIR}") -if("${draco_root}" STREQUAL "${draco_build_dir}") +if("${draco_root}" STREQUAL "${draco_build}") message( FATAL_ERROR "Building from within the Draco source tree is not supported.\n" "Hint: Run these commands\n" @@ -29,298 +22,181 @@ if("${draco_root}" STREQUAL "${draco_build_dir}") endif() include(CMakePackageConfigHelpers) -include("${draco_root}/cmake/compiler_flags.cmake") -include("${draco_root}/cmake/draco_features.cmake") +include(FindPythonInterp) +include("${draco_root}/cmake/draco_build_definitions.cmake") +include("${draco_root}/cmake/draco_cpu_detection.cmake") +include("${draco_root}/cmake/draco_emscripten.cmake") +include("${draco_root}/cmake/draco_flags.cmake") +include("${draco_root}/cmake/draco_helpers.cmake") +include("${draco_root}/cmake/draco_install.cmake") +include("${draco_root}/cmake/draco_intrinsics.cmake") +include("${draco_root}/cmake/draco_options.cmake") +include("${draco_root}/cmake/draco_sanitizer.cmake") +include("${draco_root}/cmake/draco_targets.cmake") include("${draco_root}/cmake/draco_tests.cmake") -include("${draco_root}/cmake/sanitizers.cmake") -include("${draco_root}/cmake/util.cmake") - -option(ENABLE_CCACHE "Enable ccache support." OFF) -option(ENABLE_DISTCC "Enable distcc support." OFF) -option(ENABLE_EXTRA_SPEED "" OFF) -option(ENABLE_EXTRA_WARNINGS "" OFF) -option(ENABLE_GOMA "Enable goma support." OFF) -option(ENABLE_JS_GLUE "Enable JS Glue and JS targets when using Emscripten." ON) -option(ENABLE_MESH_COMPRESSION "" ON) -option(ENABLE_POINT_CLOUD_COMPRESSION "" ON) -option(ENABLE_PREDICTIVE_EDGEBREAKER "" ON) -option(ENABLE_STANDARD_EDGEBREAKER "" ON) -option(ENABLE_BACKWARDS_COMPATIBILITY "" ON) -option(ENABLE_DECODER_ATTRIBUTE_DEDUPLICATION "" OFF) -option(ENABLE_TESTS "Enables tests." OFF) -option(ENABLE_WASM "" OFF) -option(ENABLE_WERROR "" OFF) -option(ENABLE_WEXTRA "" OFF) -option(IGNORE_EMPTY_BUILD_TYPE "" OFF) -option(BUILD_UNITY_PLUGIN "Build plugin library for Unity." OFF) -option(BUILD_ANIMATION_ENCODING "" OFF) -option(BUILD_FOR_GLTF "" OFF) -option(BUILD_MAYA_PLUGIN "Build plugin library for Maya." OFF) -option(BUILD_USD_PLUGIN "Build plugin library for USD." OFF) - -if((${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU" - AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 5) - OR (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" - AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4)) - message(WARNING - "GNU/GCC < v5 or Clang/LLVM < v4, ENABLING COMPATIBILITY MODE.") - draco_enable_feature(FEATURE "DRACO_OLD_GCC") -endif() - -if(BUILD_FOR_GLTF) - # Override settings when building for GLTF. - draco_enable_feature(FEATURE "DRACO_MESH_COMPRESSION_SUPPORTED") - draco_enable_feature(FEATURE "DRACO_NORMAL_ENCODING_SUPPORTED") - draco_enable_feature(FEATURE "DRACO_STANDARD_EDGEBREAKER_SUPPORTED") -else() - if(ENABLE_POINT_CLOUD_COMPRESSION) - draco_enable_feature(FEATURE "DRACO_POINT_CLOUD_COMPRESSION_SUPPORTED") - endif() - if(ENABLE_MESH_COMPRESSION) - draco_enable_feature(FEATURE "DRACO_MESH_COMPRESSION_SUPPORTED") - draco_enable_feature(FEATURE "DRACO_NORMAL_ENCODING_SUPPORTED") - - if(ENABLE_STANDARD_EDGEBREAKER) - draco_enable_feature(FEATURE "DRACO_STANDARD_EDGEBREAKER_SUPPORTED") - endif() - if(ENABLE_PREDICTIVE_EDGEBREAKER) - draco_enable_feature(FEATURE "DRACO_PREDICTIVE_EDGEBREAKER_SUPPORTED") - endif() - endif() +include("${draco_root}/cmake/draco_variables.cmake") - if(ENABLE_BACKWARDS_COMPATIBILITY) - draco_enable_feature(FEATURE "DRACO_BACKWARDS_COMPATIBILITY_SUPPORTED") - endif() -endif() +# C++ and linker flags. +draco_track_configuration_variable(DRACO_CXX_FLAGS) +draco_track_configuration_variable(DRACO_EXE_LINKER_FLAGS) -# Turn on more compiler warnings. -if(ENABLE_EXTRA_WARNINGS) - if(MSVC) - add_compiler_flag_if_supported("/W3") - # Disable MSVC warnings that suggest making code non-portable. - add_compiler_flag_if_supported("/wd4996") - if(ENABLE_WERROR) - add_compiler_flag_if_supported("/WX") - endif() - else() - add_compiler_flag_if_supported("-Wall") - add_compiler_flag_if_supported("-Wfloat-conversion") - add_compiler_flag_if_supported("-Wimplicit-function-declaration") - add_compiler_flag_if_supported("-Wpointer-arith") - add_compiler_flag_if_supported("-Wshadow") - add_compiler_flag_if_supported("-Wsign-compare") - add_compiler_flag_if_supported("-Wtype-limits") - add_compiler_flag_if_supported("-Wuninitialized") - add_compiler_flag_if_supported("-Wunused") - endif() -endif() +# Sanitizer integration. +draco_track_configuration_variable(DRACO_SANITIZE) -if(ENABLE_WERROR) - add_compiler_flag_if_supported("-Werror") -endif() -if(ENABLE_WEXTRA) - add_compiler_flag_if_supported("-Wextra") -endif() -if(ENABLE_CCACHE) - set_compiler_launcher(ENABLE_CCACHE ccache) -endif() -if(ENABLE_DISTCC) - set_compiler_launcher(ENABLE_DISTCC distcc) -endif() -if(ENABLE_GOMA) - set_compiler_launcher(ENABLE_GOMA gomacc) -endif() -if(BUILD_UNITY_PLUGIN) - set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared library for unity plugin.") - draco_enable_feature(FEATURE "BUILD_UNITY_PLUGIN") -endif() -if(BUILD_MAYA_PLUGIN) - set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared library for maya plugin.") - draco_enable_feature(FEATURE "BUILD_MAYA_PLUGIN") -endif() -if(BUILD_USD_PLUGIN) - set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared library for USD plugin.") - draco_enable_feature(FEATURE "BUILD_USD_PLUGIN") -endif() +# Generated source file directory. +draco_track_configuration_variable(DRACO_GENERATED_SOURCES_DIRECTORY) -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) -endif() +# Controls use of std::mutex and absl::Mutex in ThreadPool. +draco_track_configuration_variable(DRACO_THREADPOOL_USE_STD_MUTEX) -if(ENABLE_EXTRA_SPEED) - if(MSVC) - # Maximum optimization in Release mode. - add_compile_options("$<$:/Ox>") - else() - add_compiler_flag_if_supported("-O3") - endif() +if(DRACO_VERBOSE) + draco_dump_cmake_flag_variables() + draco_dump_tracked_configuration_variables() + draco_dump_options() endif() -# Generate a version file containing repository info. -include(FindGit) -find_package(Git) -# Default the hash and description to empty strings in case git is unavailable. -set(draco_git_hash "") -set(draco_git_desc "") -if(GIT_FOUND) - set(draco_git_dir "${draco_root}/.git") - if(NOT EXISTS "${draco_git_dir}") - set(draco_git_dir "${draco_root}/../../../.git") - endif() - if(EXISTS "${draco_git_dir}") - execute_process(COMMAND ${GIT_EXECUTABLE} - --git-dir=${draco_git_dir} rev-parse HEAD - OUTPUT_VARIABLE draco_git_hash) - execute_process(COMMAND ${GIT_EXECUTABLE} - --git-dir=${draco_git_dir}/.git describe - OUTPUT_VARIABLE draco_git_desc - ERROR_QUIET) - # Consume newlines from Git output. - string(STRIP "${draco_git_hash}" draco_git_hash) - string(STRIP "${draco_git_desc}" draco_git_desc) - endif() -endif() -if(draco_git_hash STREQUAL "") - set(draco_git_desc "unknown") +# Compiler/linker flags must be lists, but come in from the environment as +# strings. Break them up: +if(NOT "${DRACO_CXX_FLAGS}" STREQUAL "") + separate_arguments(DRACO_CXX_FLAGS) endif() -if(draco_git_desc STREQUAL "") - set(draco_git_desc "unreleased") +if(NOT "${DRACO_EXE_LINKER_FLAGS}" STREQUAL "") + separate_arguments(DRACO_EXE_LINKER_FLAGS) endif() -if(EMSCRIPTEN) - include(FindPythonInterp) - if(NOT PYTHONINTERP_FOUND) - message( - FATAL_ERROR - "Python required for Emscripten builds, but cmake cannot find it.") - endif() - if(NOT EXISTS "$ENV{EMSCRIPTEN}") - message( - FATAL_ERROR - "The EMSCRIPTEN environment variable must be set. See README.md.") - endif() -endif() +draco_reset_target_lists() +draco_setup_options() +draco_set_build_definitions() +draco_set_cxx_flags() +draco_generate_features_h() # Draco source file listing variables. -set(draco_attributes_sources - "${draco_src_root}/attributes/attribute_octahedron_transform.cc" - "${draco_src_root}/attributes/attribute_octahedron_transform.h" - "${draco_src_root}/attributes/attribute_quantization_transform.cc" - "${draco_src_root}/attributes/attribute_quantization_transform.h" - "${draco_src_root}/attributes/attribute_transform.cc" - "${draco_src_root}/attributes/attribute_transform.h" - "${draco_src_root}/attributes/attribute_transform_data.h" - "${draco_src_root}/attributes/attribute_transform_type.h" - "${draco_src_root}/attributes/geometry_attribute.cc" - "${draco_src_root}/attributes/geometry_attribute.h" - "${draco_src_root}/attributes/geometry_indices.h" - "${draco_src_root}/attributes/point_attribute.cc" - "${draco_src_root}/attributes/point_attribute.h") - -set( - draco_compression_attributes_dec_sources - "${draco_src_root}/compression/attributes/attributes_decoder.cc" - "${draco_src_root}/compression/attributes/attributes_decoder.h" - "${draco_src_root}/compression/attributes/kd_tree_attributes_decoder.cc" - "${draco_src_root}/compression/attributes/kd_tree_attributes_decoder.h" - "${draco_src_root}/compression/attributes/kd_tree_attributes_shared.h" - "${draco_src_root}/compression/attributes/mesh_attribute_indices_encoding_data.h" - "${draco_src_root}/compression/attributes/normal_compression_utils.h" - "${draco_src_root}/compression/attributes/point_d_vector.h" - "${draco_src_root}/compression/attributes/sequential_attribute_decoder.cc" - "${draco_src_root}/compression/attributes/sequential_attribute_decoder.h" - "${draco_src_root}/compression/attributes/sequential_attribute_decoders_controller.cc" - "${draco_src_root}/compression/attributes/sequential_attribute_decoders_controller.h" - "${draco_src_root}/compression/attributes/sequential_integer_attribute_decoder.cc" - "${draco_src_root}/compression/attributes/sequential_integer_attribute_decoder.h" - "${draco_src_root}/compression/attributes/sequential_normal_attribute_decoder.cc" - "${draco_src_root}/compression/attributes/sequential_normal_attribute_decoder.h" - "${draco_src_root}/compression/attributes/sequential_quantization_attribute_decoder.cc" - "${draco_src_root}/compression/attributes/sequential_quantization_attribute_decoder.h" +list(APPEND draco_attributes_sources + "${draco_src_root}/attributes/attribute_octahedron_transform.cc" + "${draco_src_root}/attributes/attribute_octahedron_transform.h" + "${draco_src_root}/attributes/attribute_quantization_transform.cc" + "${draco_src_root}/attributes/attribute_quantization_transform.h" + "${draco_src_root}/attributes/attribute_transform.cc" + "${draco_src_root}/attributes/attribute_transform.h" + "${draco_src_root}/attributes/attribute_transform_data.h" + "${draco_src_root}/attributes/attribute_transform_type.h" + "${draco_src_root}/attributes/geometry_attribute.cc" + "${draco_src_root}/attributes/geometry_attribute.h" + "${draco_src_root}/attributes/geometry_indices.h" + "${draco_src_root}/attributes/point_attribute.cc" + "${draco_src_root}/attributes/point_attribute.h") + +list( + APPEND + draco_compression_attributes_dec_sources + "${draco_src_root}/compression/attributes/attributes_decoder.cc" + "${draco_src_root}/compression/attributes/attributes_decoder.h" + "${draco_src_root}/compression/attributes/kd_tree_attributes_decoder.cc" + "${draco_src_root}/compression/attributes/kd_tree_attributes_decoder.h" + "${draco_src_root}/compression/attributes/kd_tree_attributes_shared.h" + "${draco_src_root}/compression/attributes/mesh_attribute_indices_encoding_data.h" + "${draco_src_root}/compression/attributes/normal_compression_utils.h" + "${draco_src_root}/compression/attributes/point_d_vector.h" + "${draco_src_root}/compression/attributes/sequential_attribute_decoder.cc" + "${draco_src_root}/compression/attributes/sequential_attribute_decoder.h" + "${draco_src_root}/compression/attributes/sequential_attribute_decoders_controller.cc" + "${draco_src_root}/compression/attributes/sequential_attribute_decoders_controller.h" + "${draco_src_root}/compression/attributes/sequential_integer_attribute_decoder.cc" + "${draco_src_root}/compression/attributes/sequential_integer_attribute_decoder.h" + "${draco_src_root}/compression/attributes/sequential_normal_attribute_decoder.cc" + "${draco_src_root}/compression/attributes/sequential_normal_attribute_decoder.h" + "${draco_src_root}/compression/attributes/sequential_quantization_attribute_decoder.cc" + "${draco_src_root}/compression/attributes/sequential_quantization_attribute_decoder.h" ) -set( - draco_compression_attributes_enc_sources - "${draco_src_root}/compression/attributes/attributes_encoder.cc" - "${draco_src_root}/compression/attributes/attributes_encoder.h" - "${draco_src_root}/compression/attributes/kd_tree_attributes_encoder.cc" - "${draco_src_root}/compression/attributes/kd_tree_attributes_encoder.h" - "${draco_src_root}/compression/attributes/linear_sequencer.h" - "${draco_src_root}/compression/attributes/points_sequencer.h" - "${draco_src_root}/compression/attributes/sequential_attribute_encoder.cc" - "${draco_src_root}/compression/attributes/sequential_attribute_encoder.h" - "${draco_src_root}/compression/attributes/sequential_attribute_encoders_controller.cc" - "${draco_src_root}/compression/attributes/sequential_attribute_encoders_controller.h" - "${draco_src_root}/compression/attributes/sequential_integer_attribute_encoder.cc" - "${draco_src_root}/compression/attributes/sequential_integer_attribute_encoder.h" - "${draco_src_root}/compression/attributes/sequential_normal_attribute_encoder.cc" - "${draco_src_root}/compression/attributes/sequential_normal_attribute_encoder.h" - "${draco_src_root}/compression/attributes/sequential_quantization_attribute_encoder.cc" - "${draco_src_root}/compression/attributes/sequential_quantization_attribute_encoder.h" +list( + APPEND + draco_compression_attributes_enc_sources + "${draco_src_root}/compression/attributes/attributes_encoder.cc" + "${draco_src_root}/compression/attributes/attributes_encoder.h" + "${draco_src_root}/compression/attributes/kd_tree_attributes_encoder.cc" + "${draco_src_root}/compression/attributes/kd_tree_attributes_encoder.h" + "${draco_src_root}/compression/attributes/linear_sequencer.h" + "${draco_src_root}/compression/attributes/points_sequencer.h" + "${draco_src_root}/compression/attributes/sequential_attribute_encoder.cc" + "${draco_src_root}/compression/attributes/sequential_attribute_encoder.h" + "${draco_src_root}/compression/attributes/sequential_attribute_encoders_controller.cc" + "${draco_src_root}/compression/attributes/sequential_attribute_encoders_controller.h" + "${draco_src_root}/compression/attributes/sequential_integer_attribute_encoder.cc" + "${draco_src_root}/compression/attributes/sequential_integer_attribute_encoder.h" + "${draco_src_root}/compression/attributes/sequential_normal_attribute_encoder.cc" + "${draco_src_root}/compression/attributes/sequential_normal_attribute_encoder.h" + "${draco_src_root}/compression/attributes/sequential_quantization_attribute_encoder.cc" + "${draco_src_root}/compression/attributes/sequential_quantization_attribute_encoder.h" ) -set( - draco_compression_attributes_pred_schemes_dec_sources - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_decoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_shared.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_data.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_decoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_decoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_area.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_base.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_multi_parallelogram_decoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_encoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_shared.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_decoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_decoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_decoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_decoder_factory.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_decoder_interface.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_decoding_transform.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_delta_decoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_factory.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_interface.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_decoding_transform.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_transform_base.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_decoding_transform.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_transform_base.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_wrap_decoding_transform.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_wrap_transform_base.h" + +list( + APPEND + draco_compression_attributes_pred_schemes_dec_sources + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_decoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_shared.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_data.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_decoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_decoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_area.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_base.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_multi_parallelogram_decoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_encoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_shared.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_decoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_decoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_decoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_decoder_factory.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_decoder_interface.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_decoding_transform.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_delta_decoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_factory.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_interface.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_decoding_transform.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_transform_base.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_decoding_transform.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_transform_base.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_wrap_decoding_transform.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_wrap_transform_base.h" ) -set( - draco_compression_attributes_pred_schemes_enc_sources - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_encoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_shared.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_data.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_encoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_encoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_area.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_base.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_multi_parallelogram_encoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_encoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_shared.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_encoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_encoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_delta_encoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_encoder.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_encoder_factory.cc" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_encoder_factory.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_encoder_interface.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_encoding_transform.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_factory.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_interface.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_encoding_transform.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_transform_base.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_encoding_transform.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_transform_base.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_wrap_encoding_transform.h" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_wrap_transform_base.h" +list( + APPEND + draco_compression_attributes_pred_schemes_enc_sources + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_encoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_shared.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_data.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_encoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_encoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_area.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_base.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_multi_parallelogram_encoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_encoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_shared.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_encoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_encoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_delta_encoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_encoder.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_encoder_factory.cc" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_encoder_factory.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_encoder_interface.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_encoding_transform.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_factory.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_interface.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_encoding_transform.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_transform_base.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_encoding_transform.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_transform_base.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_wrap_encoding_transform.h" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_wrap_transform_base.h" ) -set(draco_compression_bit_coders_sources +list( + APPEND + draco_compression_bit_coders_sources "${draco_src_root}/compression/bit_coders/adaptive_rans_bit_coding_shared.h" "${draco_src_root}/compression/bit_coders/adaptive_rans_bit_decoder.cc" "${draco_src_root}/compression/bit_coders/adaptive_rans_bit_decoder.h" @@ -341,793 +217,742 @@ set(draco_compression_bit_coders_sources "${draco_src_root}/compression/bit_coders/symbol_bit_encoder.cc" "${draco_src_root}/compression/bit_coders/symbol_bit_encoder.h") -set(draco_enc_config_sources - "${draco_src_root}/compression/config/compression_shared.h" - "${draco_src_root}/compression/config/draco_options.h" - "${draco_src_root}/compression/config/encoder_options.h" - "${draco_src_root}/compression/config/encoding_features.h") - -set(draco_dec_config_sources - "${draco_src_root}/compression/config/compression_shared.h" - "${draco_src_root}/compression/config/decoder_options.h" - "${draco_src_root}/compression/config/draco_options.h") - -set(draco_compression_decode_sources "${draco_src_root}/compression/decode.cc" - "${draco_src_root}/compression/decode.h") - -set(draco_compression_encode_sources - "${draco_src_root}/compression/encode.cc" - "${draco_src_root}/compression/encode.h" - "${draco_src_root}/compression/encode_base.h" - "${draco_src_root}/compression/expert_encode.cc" - "${draco_src_root}/compression/expert_encode.h") - -set( - draco_compression_mesh_traverser_sources - "${draco_src_root}/compression/mesh/traverser/depth_first_traverser.h" - "${draco_src_root}/compression/mesh/traverser/max_prediction_degree_traverser.h" - "${draco_src_root}/compression/mesh/traverser/mesh_attribute_indices_encoding_observer.h" - "${draco_src_root}/compression/mesh/traverser/mesh_traversal_sequencer.h" - "${draco_src_root}/compression/mesh/traverser/traverser_base.h") - -set( - draco_compression_mesh_dec_sources - "${draco_src_root}/compression/mesh/mesh_decoder.cc" - "${draco_src_root}/compression/mesh/mesh_decoder.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_decoder.cc" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_decoder.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_decoder_impl.cc" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_decoder_impl.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_decoder_impl_interface.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_shared.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_decoder.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_predictive_decoder.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_valence_decoder.h" - "${draco_src_root}/compression/mesh/mesh_sequential_decoder.cc" - "${draco_src_root}/compression/mesh/mesh_sequential_decoder.h") - -set( - draco_compression_mesh_enc_sources - "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoder.cc" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoder.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoder_impl.cc" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoder_impl.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoder_impl_interface.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_shared.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_encoder.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_predictive_encoder.h" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_valence_encoder.h" - "${draco_src_root}/compression/mesh/mesh_encoder.cc" - "${draco_src_root}/compression/mesh/mesh_encoder.h" - "${draco_src_root}/compression/mesh/mesh_sequential_encoder.cc" - "${draco_src_root}/compression/mesh/mesh_sequential_encoder.h") - -set( - draco_compression_point_cloud_dec_sources - "${draco_src_root}/compression/point_cloud/point_cloud_decoder.cc" - "${draco_src_root}/compression/point_cloud/point_cloud_decoder.h" - "${draco_src_root}/compression/point_cloud/point_cloud_kd_tree_decoder.cc" - "${draco_src_root}/compression/point_cloud/point_cloud_kd_tree_decoder.h" - "${draco_src_root}/compression/point_cloud/point_cloud_sequential_decoder.cc" - "${draco_src_root}/compression/point_cloud/point_cloud_sequential_decoder.h") - -set( - draco_compression_point_cloud_enc_sources - "${draco_src_root}/compression/point_cloud/point_cloud_encoder.cc" - "${draco_src_root}/compression/point_cloud/point_cloud_encoder.h" - "${draco_src_root}/compression/point_cloud/point_cloud_kd_tree_encoder.cc" - "${draco_src_root}/compression/point_cloud/point_cloud_kd_tree_encoder.h" - "${draco_src_root}/compression/point_cloud/point_cloud_sequential_encoder.cc" - "${draco_src_root}/compression/point_cloud/point_cloud_sequential_encoder.h") - -set(draco_compression_entropy_sources - "${draco_src_root}/compression/entropy/ans.h" - "${draco_src_root}/compression/entropy/rans_symbol_coding.h" - "${draco_src_root}/compression/entropy/rans_symbol_decoder.h" - "${draco_src_root}/compression/entropy/rans_symbol_encoder.h" - "${draco_src_root}/compression/entropy/shannon_entropy.cc" - "${draco_src_root}/compression/entropy/shannon_entropy.h" - "${draco_src_root}/compression/entropy/symbol_decoding.cc" - "${draco_src_root}/compression/entropy/symbol_decoding.h" - "${draco_src_root}/compression/entropy/symbol_encoding.cc" - "${draco_src_root}/compression/entropy/symbol_encoding.h") - -set(draco_core_sources - "${draco_src_root}/core/bit_utils.cc" - "${draco_src_root}/core/bit_utils.h" - "${draco_src_root}/core/bounding_box.cc" - "${draco_src_root}/core/bounding_box.h" - "${draco_src_root}/core/cycle_timer.cc" - "${draco_src_root}/core/cycle_timer.h" - "${draco_src_root}/core/data_buffer.cc" - "${draco_src_root}/core/data_buffer.h" - "${draco_src_root}/core/decoder_buffer.cc" - "${draco_src_root}/core/decoder_buffer.h" - "${draco_src_root}/core/divide.cc" - "${draco_src_root}/core/divide.h" - "${draco_src_root}/core/draco_index_type.h" - "${draco_src_root}/core/draco_index_type_vector.h" - "${draco_src_root}/core/draco_types.cc" - "${draco_src_root}/core/draco_types.h" - "${draco_src_root}/core/encoder_buffer.cc" - "${draco_src_root}/core/encoder_buffer.h" - "${draco_src_root}/core/hash_utils.cc" - "${draco_src_root}/core/hash_utils.h" - "${draco_src_root}/core/macros.h" - "${draco_src_root}/core/math_utils.h" - "${draco_src_root}/core/options.cc" - "${draco_src_root}/core/options.h" - "${draco_src_root}/core/quantization_utils.cc" - "${draco_src_root}/core/quantization_utils.h" - "${draco_src_root}/core/status.h" - "${draco_src_root}/core/status_or.h" - "${draco_src_root}/core/varint_decoding.h" - "${draco_src_root}/core/varint_encoding.h" - "${draco_src_root}/core/vector_d.h") - -set(draco_io_sources - "${draco_src_root}/io/file_reader_factory.cc" - "${draco_src_root}/io/file_reader_factory.h" - "${draco_src_root}/io/file_reader_interface.h" - "${draco_src_root}/io/file_utils.cc" - "${draco_src_root}/io/file_utils.h" - "${draco_src_root}/io/file_writer_factory.cc" - "${draco_src_root}/io/file_writer_factory.h" - "${draco_src_root}/io/file_writer_interface.h" - "${draco_src_root}/io/mesh_io.cc" - "${draco_src_root}/io/mesh_io.h" - "${draco_src_root}/io/obj_decoder.cc" - "${draco_src_root}/io/obj_decoder.h" - "${draco_src_root}/io/obj_encoder.cc" - "${draco_src_root}/io/obj_encoder.h" - "${draco_src_root}/io/parser_utils.cc" - "${draco_src_root}/io/parser_utils.h" - "${draco_src_root}/io/ply_decoder.cc" - "${draco_src_root}/io/ply_decoder.h" - "${draco_src_root}/io/ply_encoder.cc" - "${draco_src_root}/io/ply_encoder.h" - "${draco_src_root}/io/ply_property_reader.h" - "${draco_src_root}/io/ply_property_writer.h" - "${draco_src_root}/io/ply_reader.cc" - "${draco_src_root}/io/ply_reader.h" - "${draco_src_root}/io/point_cloud_io.cc" - "${draco_src_root}/io/point_cloud_io.h" - "${draco_src_root}/io/stdio_file_reader.cc" - "${draco_src_root}/io/stdio_file_reader.h" - "${draco_src_root}/io/stdio_file_writer.cc" - "${draco_src_root}/io/stdio_file_writer.h") - -set(draco_mesh_sources - "${draco_src_root}/mesh/corner_table.cc" - "${draco_src_root}/mesh/corner_table.h" - "${draco_src_root}/mesh/corner_table_iterators.h" - "${draco_src_root}/mesh/mesh.cc" - "${draco_src_root}/mesh/mesh.h" - "${draco_src_root}/mesh/mesh_are_equivalent.cc" - "${draco_src_root}/mesh/mesh_are_equivalent.h" - "${draco_src_root}/mesh/mesh_attribute_corner_table.cc" - "${draco_src_root}/mesh/mesh_attribute_corner_table.h" - "${draco_src_root}/mesh/mesh_cleanup.cc" - "${draco_src_root}/mesh/mesh_cleanup.h" - "${draco_src_root}/mesh/mesh_misc_functions.cc" - "${draco_src_root}/mesh/mesh_misc_functions.h" - "${draco_src_root}/mesh/mesh_stripifier.cc" - "${draco_src_root}/mesh/mesh_stripifier.h" - "${draco_src_root}/mesh/triangle_soup_mesh_builder.cc" - "${draco_src_root}/mesh/triangle_soup_mesh_builder.h" - "${draco_src_root}/mesh/valence_cache.h") - -set(draco_point_cloud_sources - "${draco_src_root}/point_cloud/point_cloud.cc" - "${draco_src_root}/point_cloud/point_cloud.h" - "${draco_src_root}/point_cloud/point_cloud_builder.cc" - "${draco_src_root}/point_cloud/point_cloud_builder.h") - -set( - draco_points_common_sources - "${draco_src_root}/compression/point_cloud/algorithms/point_cloud_compression_method.h" - "${draco_src_root}/compression/point_cloud/algorithms/point_cloud_types.h" - "${draco_src_root}/compression/point_cloud/algorithms/quantize_points_3.h" - "${draco_src_root}/compression/point_cloud/algorithms/queuing_policy.h") - -set( - draco_points_dec_sources - "${draco_src_root}/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_decoder.cc" - "${draco_src_root}/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_decoder.h" - "${draco_src_root}/compression/point_cloud/algorithms/float_points_tree_decoder.cc" - "${draco_src_root}/compression/point_cloud/algorithms/float_points_tree_decoder.h" +list(APPEND draco_enc_config_sources + "${draco_src_root}/compression/config/compression_shared.h" + "${draco_src_root}/compression/config/draco_options.h" + "${draco_src_root}/compression/config/encoder_options.h" + "${draco_src_root}/compression/config/encoding_features.h") + +list(APPEND draco_dec_config_sources + "${draco_src_root}/compression/config/compression_shared.h" + "${draco_src_root}/compression/config/decoder_options.h" + "${draco_src_root}/compression/config/draco_options.h") + +list(APPEND draco_compression_decode_sources + "${draco_src_root}/compression/decode.cc" + "${draco_src_root}/compression/decode.h") + +list(APPEND draco_compression_encode_sources + "${draco_src_root}/compression/encode.cc" + "${draco_src_root}/compression/encode.h" + "${draco_src_root}/compression/encode_base.h" + "${draco_src_root}/compression/expert_encode.cc" + "${draco_src_root}/compression/expert_encode.h") + +list( + APPEND + draco_compression_mesh_traverser_sources + "${draco_src_root}/compression/mesh/traverser/depth_first_traverser.h" + "${draco_src_root}/compression/mesh/traverser/max_prediction_degree_traverser.h" + "${draco_src_root}/compression/mesh/traverser/mesh_attribute_indices_encoding_observer.h" + "${draco_src_root}/compression/mesh/traverser/mesh_traversal_sequencer.h" + "${draco_src_root}/compression/mesh/traverser/traverser_base.h") + +list( + APPEND + draco_compression_mesh_dec_sources + "${draco_src_root}/compression/mesh/mesh_decoder.cc" + "${draco_src_root}/compression/mesh/mesh_decoder.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_decoder.cc" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_decoder.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_decoder_impl.cc" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_decoder_impl.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_decoder_impl_interface.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_shared.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_decoder.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_predictive_decoder.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_valence_decoder.h" + "${draco_src_root}/compression/mesh/mesh_sequential_decoder.cc" + "${draco_src_root}/compression/mesh/mesh_sequential_decoder.h") + +list( + APPEND + draco_compression_mesh_enc_sources + "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoder.cc" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoder.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoder_impl.cc" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoder_impl.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoder_impl_interface.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_shared.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_encoder.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_predictive_encoder.h" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_traversal_valence_encoder.h" + "${draco_src_root}/compression/mesh/mesh_encoder.cc" + "${draco_src_root}/compression/mesh/mesh_encoder.h" + "${draco_src_root}/compression/mesh/mesh_sequential_encoder.cc" + "${draco_src_root}/compression/mesh/mesh_sequential_encoder.h") + +list( + APPEND + draco_compression_point_cloud_dec_sources + "${draco_src_root}/compression/point_cloud/point_cloud_decoder.cc" + "${draco_src_root}/compression/point_cloud/point_cloud_decoder.h" + "${draco_src_root}/compression/point_cloud/point_cloud_kd_tree_decoder.cc" + "${draco_src_root}/compression/point_cloud/point_cloud_kd_tree_decoder.h" + "${draco_src_root}/compression/point_cloud/point_cloud_sequential_decoder.cc" + "${draco_src_root}/compression/point_cloud/point_cloud_sequential_decoder.h" ) -set( - draco_points_enc_sources - "${draco_src_root}/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_encoder.cc" - "${draco_src_root}/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_encoder.h" - "${draco_src_root}/compression/point_cloud/algorithms/float_points_tree_encoder.cc" - "${draco_src_root}/compression/point_cloud/algorithms/float_points_tree_encoder.h" +list( + APPEND + draco_compression_point_cloud_enc_sources + "${draco_src_root}/compression/point_cloud/point_cloud_encoder.cc" + "${draco_src_root}/compression/point_cloud/point_cloud_encoder.h" + "${draco_src_root}/compression/point_cloud/point_cloud_kd_tree_encoder.cc" + "${draco_src_root}/compression/point_cloud/point_cloud_kd_tree_encoder.h" + "${draco_src_root}/compression/point_cloud/point_cloud_sequential_encoder.cc" + "${draco_src_root}/compression/point_cloud/point_cloud_sequential_encoder.h" ) -set(draco_metadata_sources "${draco_src_root}/metadata/geometry_metadata.cc" - "${draco_src_root}/metadata/geometry_metadata.h" - "${draco_src_root}/metadata/metadata.cc" - "${draco_src_root}/metadata/metadata.h") +list(APPEND draco_compression_entropy_sources + "${draco_src_root}/compression/entropy/ans.h" + "${draco_src_root}/compression/entropy/rans_symbol_coding.h" + "${draco_src_root}/compression/entropy/rans_symbol_decoder.h" + "${draco_src_root}/compression/entropy/rans_symbol_encoder.h" + "${draco_src_root}/compression/entropy/shannon_entropy.cc" + "${draco_src_root}/compression/entropy/shannon_entropy.h" + "${draco_src_root}/compression/entropy/symbol_decoding.cc" + "${draco_src_root}/compression/entropy/symbol_decoding.h" + "${draco_src_root}/compression/entropy/symbol_encoding.cc" + "${draco_src_root}/compression/entropy/symbol_encoding.h") + +list(APPEND draco_core_sources + "${draco_src_root}/core/bit_utils.cc" + "${draco_src_root}/core/bit_utils.h" + "${draco_src_root}/core/bounding_box.cc" + "${draco_src_root}/core/bounding_box.h" + "${draco_src_root}/core/cycle_timer.cc" + "${draco_src_root}/core/cycle_timer.h" + "${draco_src_root}/core/data_buffer.cc" + "${draco_src_root}/core/data_buffer.h" + "${draco_src_root}/core/decoder_buffer.cc" + "${draco_src_root}/core/decoder_buffer.h" + "${draco_src_root}/core/divide.cc" + "${draco_src_root}/core/divide.h" + "${draco_src_root}/core/draco_index_type.h" + "${draco_src_root}/core/draco_index_type_vector.h" + "${draco_src_root}/core/draco_types.cc" + "${draco_src_root}/core/draco_types.h" + "${draco_src_root}/core/encoder_buffer.cc" + "${draco_src_root}/core/encoder_buffer.h" + "${draco_src_root}/core/hash_utils.cc" + "${draco_src_root}/core/hash_utils.h" + "${draco_src_root}/core/macros.h" + "${draco_src_root}/core/math_utils.h" + "${draco_src_root}/core/options.cc" + "${draco_src_root}/core/options.h" + "${draco_src_root}/core/quantization_utils.cc" + "${draco_src_root}/core/quantization_utils.h" + "${draco_src_root}/core/status.h" + "${draco_src_root}/core/status_or.h" + "${draco_src_root}/core/varint_decoding.h" + "${draco_src_root}/core/varint_encoding.h" + "${draco_src_root}/core/vector_d.h") + +list(APPEND draco_io_sources + "${draco_src_root}/io/file_reader_factory.cc" + "${draco_src_root}/io/file_reader_factory.h" + "${draco_src_root}/io/file_reader_interface.h" + "${draco_src_root}/io/file_utils.cc" + "${draco_src_root}/io/file_utils.h" + "${draco_src_root}/io/file_writer_factory.cc" + "${draco_src_root}/io/file_writer_factory.h" + "${draco_src_root}/io/file_writer_interface.h" + "${draco_src_root}/io/file_writer_utils.h" + "${draco_src_root}/io/file_writer_utils.cc" + "${draco_src_root}/io/mesh_io.cc" + "${draco_src_root}/io/mesh_io.h" + "${draco_src_root}/io/obj_decoder.cc" + "${draco_src_root}/io/obj_decoder.h" + "${draco_src_root}/io/obj_encoder.cc" + "${draco_src_root}/io/obj_encoder.h" + "${draco_src_root}/io/parser_utils.cc" + "${draco_src_root}/io/parser_utils.h" + "${draco_src_root}/io/ply_decoder.cc" + "${draco_src_root}/io/ply_decoder.h" + "${draco_src_root}/io/ply_encoder.cc" + "${draco_src_root}/io/ply_encoder.h" + "${draco_src_root}/io/ply_property_reader.h" + "${draco_src_root}/io/ply_property_writer.h" + "${draco_src_root}/io/ply_reader.cc" + "${draco_src_root}/io/ply_reader.h" + "${draco_src_root}/io/point_cloud_io.cc" + "${draco_src_root}/io/point_cloud_io.h" + "${draco_src_root}/io/stdio_file_reader.cc" + "${draco_src_root}/io/stdio_file_reader.h" + "${draco_src_root}/io/stdio_file_writer.cc" + "${draco_src_root}/io/stdio_file_writer.h") + +list(APPEND draco_mesh_sources + "${draco_src_root}/mesh/corner_table.cc" + "${draco_src_root}/mesh/corner_table.h" + "${draco_src_root}/mesh/corner_table_iterators.h" + "${draco_src_root}/mesh/mesh.cc" + "${draco_src_root}/mesh/mesh.h" + "${draco_src_root}/mesh/mesh_are_equivalent.cc" + "${draco_src_root}/mesh/mesh_are_equivalent.h" + "${draco_src_root}/mesh/mesh_attribute_corner_table.cc" + "${draco_src_root}/mesh/mesh_attribute_corner_table.h" + "${draco_src_root}/mesh/mesh_cleanup.cc" + "${draco_src_root}/mesh/mesh_cleanup.h" + "${draco_src_root}/mesh/mesh_misc_functions.cc" + "${draco_src_root}/mesh/mesh_misc_functions.h" + "${draco_src_root}/mesh/mesh_stripifier.cc" + "${draco_src_root}/mesh/mesh_stripifier.h" + "${draco_src_root}/mesh/triangle_soup_mesh_builder.cc" + "${draco_src_root}/mesh/triangle_soup_mesh_builder.h" + "${draco_src_root}/mesh/valence_cache.h") + +list(APPEND draco_point_cloud_sources + "${draco_src_root}/point_cloud/point_cloud.cc" + "${draco_src_root}/point_cloud/point_cloud.h" + "${draco_src_root}/point_cloud/point_cloud_builder.cc" + "${draco_src_root}/point_cloud/point_cloud_builder.h") + +list( + APPEND + draco_points_common_sources + "${draco_src_root}/compression/point_cloud/algorithms/point_cloud_compression_method.h" + "${draco_src_root}/compression/point_cloud/algorithms/point_cloud_types.h" + "${draco_src_root}/compression/point_cloud/algorithms/quantize_points_3.h" + "${draco_src_root}/compression/point_cloud/algorithms/queuing_policy.h") + +list( + APPEND + draco_points_dec_sources + "${draco_src_root}/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_decoder.cc" + "${draco_src_root}/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_decoder.h" + "${draco_src_root}/compression/point_cloud/algorithms/float_points_tree_decoder.cc" + "${draco_src_root}/compression/point_cloud/algorithms/float_points_tree_decoder.h" + ) -set(draco_metadata_enc_sources "${draco_src_root}/metadata/metadata_encoder.cc" - "${draco_src_root}/metadata/metadata_encoder.h") +list( + APPEND + draco_points_enc_sources + "${draco_src_root}/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_encoder.cc" + "${draco_src_root}/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_encoder.h" + "${draco_src_root}/compression/point_cloud/algorithms/float_points_tree_encoder.cc" + "${draco_src_root}/compression/point_cloud/algorithms/float_points_tree_encoder.h" + ) -set(draco_metadata_dec_sources "${draco_src_root}/metadata/metadata_decoder.cc" - "${draco_src_root}/metadata/metadata_decoder.h") +list(APPEND draco_metadata_sources + "${draco_src_root}/metadata/geometry_metadata.cc" + "${draco_src_root}/metadata/geometry_metadata.h" + "${draco_src_root}/metadata/metadata.cc" + "${draco_src_root}/metadata/metadata.h") -set(draco_animation_sources "${draco_src_root}/animation/keyframe_animation.cc" - "${draco_src_root}/animation/keyframe_animation.h") +list(APPEND draco_metadata_enc_sources + "${draco_src_root}/metadata/metadata_encoder.cc" + "${draco_src_root}/metadata/metadata_encoder.h") -set(draco_animation_enc_sources - "${draco_src_root}/animation/keyframe_animation_encoder.cc" - "${draco_src_root}/animation/keyframe_animation_encoder.h") +list(APPEND draco_metadata_dec_sources + "${draco_src_root}/metadata/metadata_decoder.cc" + "${draco_src_root}/metadata/metadata_decoder.h") -set(draco_animation_dec_sources - "${draco_src_root}/animation/keyframe_animation_decoder.cc" - "${draco_src_root}/animation/keyframe_animation_decoder.h") +list(APPEND draco_animation_sources + "${draco_src_root}/animation/keyframe_animation.cc" + "${draco_src_root}/animation/keyframe_animation.h") -set(draco_js_dec_sources - "${draco_src_root}/javascript/emscripten/decoder_webidl_wrapper.cc" - "${draco_src_root}/javascript/emscripten/draco_decoder_glue_wrapper.cc") +list(APPEND draco_animation_enc_sources + "${draco_src_root}/animation/keyframe_animation_encoder.cc" + "${draco_src_root}/animation/keyframe_animation_encoder.h") -set(draco_js_enc_sources - "${draco_src_root}/javascript/emscripten/draco_encoder_glue_wrapper.cc" - "${draco_src_root}/javascript/emscripten/encoder_webidl_wrapper.cc") +list(APPEND draco_animation_dec_sources + "${draco_src_root}/animation/keyframe_animation_decoder.cc" + "${draco_src_root}/animation/keyframe_animation_decoder.h") -set( - draco_animation_js_dec_sources - "${draco_src_root}/javascript/emscripten/animation_decoder_webidl_wrapper.cc" - "${draco_src_root}/javascript/emscripten/draco_animation_decoder_glue_wrapper.cc" +list( + APPEND draco_js_dec_sources + "${draco_src_root}/javascript/emscripten/decoder_webidl_wrapper.cc" + "${draco_src_root}/javascript/emscripten/draco_decoder_glue_wrapper.cc" ) -set( - draco_animation_js_enc_sources - "${draco_src_root}/javascript/emscripten/animation_encoder_webidl_wrapper.cc" - "${draco_src_root}/javascript/emscripten/draco_animation_encoder_glue_wrapper.cc" +list( + APPEND draco_js_enc_sources + "${draco_src_root}/javascript/emscripten/draco_encoder_glue_wrapper.cc" + "${draco_src_root}/javascript/emscripten/encoder_webidl_wrapper.cc") + +list( + APPEND + draco_animation_js_dec_sources + "${draco_src_root}/javascript/emscripten/animation_decoder_webidl_wrapper.cc" + "${draco_src_root}/javascript/emscripten/draco_animation_decoder_glue_wrapper.cc" ) -set(draco_unity_plug_sources "${draco_src_root}/unity/draco_unity_plugin.cc" - "${draco_src_root}/unity/draco_unity_plugin.h") +list( + APPEND + draco_animation_js_enc_sources + "${draco_src_root}/javascript/emscripten/animation_encoder_webidl_wrapper.cc" + "${draco_src_root}/javascript/emscripten/draco_animation_encoder_glue_wrapper.cc" + ) -set(draco_maya_plug_sources "${draco_src_root}/maya/draco_maya_plugin.cc" - "${draco_src_root}/maya/draco_maya_plugin.h") +list(APPEND draco_unity_plug_sources + "${draco_src_root}/unity/draco_unity_plugin.cc" + "${draco_src_root}/unity/draco_unity_plugin.h") -include_directories("${draco_root}/src" "${draco_build_dir}") +list(APPEND draco_maya_plug_sources + "${draco_src_root}/maya/draco_maya_plugin.cc" + "${draco_src_root}/maya/draco_maya_plugin.h") # # Draco targets. # -if(EMSCRIPTEN AND ENABLE_JS_GLUE) - # Draco js decoder. - require_compiler_flag("-s ALLOW_MEMORY_GROWTH=1" YES) - require_compiler_flag("-Wno-almost-asm" YES) - require_compiler_flag("--memory-init-file 0" YES) - require_compiler_flag("-fno-omit-frame-pointer" YES) - require_compiler_flag("-s MODULARIZE=1" YES) - if(ENABLE_EXTRA_SPEED) - require_compiler_flag("--llvm-lto 1" YES) - endif() - require_compiler_flag("-s NO_FILESYSTEM=1" YES) - require_compiler_flag("-s EXPORTED_RUNTIME_METHODS=[]" YES) - require_compiler_flag("-s PRECISE_F32=1" YES) - if(ENABLE_WASM) - require_compiler_flag("-s WASM=1" YES) - else() - require_compiler_flag("-s WASM=0" YES) - endif() - if(IE_COMPATIBLE) - require_compiler_flag("-s LEGACY_VM_SUPPORT=1" YES) - endif() - - if(CMAKE_BUILD_TYPE STREQUAL "") - # Force -O3 when no build type is specified. - add_compiler_flag_if_supported("-O3") - endif() - - set(draco_js_dec_idl - "${draco_src_root}/javascript/emscripten/draco_web_decoder.idl") - set(draco_js_enc_idl - "${draco_src_root}/javascript/emscripten/draco_web_encoder.idl") - set(draco_animation_js_dec_idl +if(EMSCRIPTEN AND DRACO_JS_GLUE) + # Draco decoder and encoder "executable" targets in various flavors for + # Emsscripten. + list(APPEND draco_decoder_src + ${draco_attributes_sources} + ${draco_compression_attributes_dec_sources} + ${draco_compression_attributes_pred_schemes_dec_sources} + ${draco_compression_bit_coders_sources} + ${draco_compression_decode_sources} + ${draco_compression_entropy_sources} + ${draco_compression_mesh_traverser_sources} + ${draco_compression_mesh_dec_sources} + ${draco_compression_point_cloud_dec_sources} + ${draco_core_sources} + ${draco_dec_config_sources} + ${draco_js_dec_sources} + ${draco_mesh_sources} + ${draco_metadata_dec_sources} + ${draco_metadata_sources} + ${draco_point_cloud_sources} + ${draco_points_dec_sources}) + + list(APPEND draco_encoder_src + ${draco_attributes_sources} + ${draco_compression_attributes_enc_sources} + ${draco_compression_attributes_pred_schemes_enc_sources} + ${draco_compression_bit_coders_sources} + ${draco_compression_encode_sources} + ${draco_compression_entropy_sources} + ${draco_compression_mesh_traverser_sources} + ${draco_compression_mesh_enc_sources} + ${draco_compression_point_cloud_enc_sources} + ${draco_core_sources} + ${draco_enc_config_sources} + ${draco_js_enc_sources} + ${draco_mesh_sources} + ${draco_metadata_enc_sources} + ${draco_metadata_sources} + ${draco_point_cloud_sources} + ${draco_points_enc_sources}) + + list(APPEND draco_js_dec_idl + "${draco_src_root}/javascript/emscripten/draco_web_decoder.idl") + list(APPEND draco_js_enc_idl + "${draco_src_root}/javascript/emscripten/draco_web_encoder.idl") + list( + APPEND + draco_animation_js_dec_idl "${draco_src_root}/javascript/emscripten/draco_animation_web_decoder.idl") - set(draco_animation_js_enc_idl + list( + APPEND + draco_animation_js_enc_idl "${draco_src_root}/javascript/emscripten/draco_animation_web_encoder.idl") - - # Generate ${draco_build_dir}/glue_decoder.cpp at cmake generation time so it - # can be added to targets without cmake reporting errors. - execute_process(COMMAND ${PYTHON_EXECUTABLE} - $ENV{EMSCRIPTEN}/tools/webidl_binder.py - ${draco_js_dec_idl} ${draco_build_dir}/glue_decoder) - - execute_process(COMMAND ${PYTHON_EXECUTABLE} - $ENV{EMSCRIPTEN}/tools/webidl_binder.py - ${draco_js_enc_idl} ${draco_build_dir}/glue_encoder) - - if(NOT EXISTS "${draco_build_dir}/glue_decoder.cpp" - OR NOT EXISTS "${draco_build_dir}/glue_encoder.cpp") - message(FATAL_ERROR "Glue generation failed.") - endif() - - if(BUILD_ANIMATION_ENCODING) - execute_process(COMMAND ${PYTHON_EXECUTABLE} - $ENV{EMSCRIPTEN}/tools/webidl_binder.py - ${draco_animation_js_dec_idl} - ${draco_build_dir}/glue_animation_decoder) - execute_process(COMMAND ${PYTHON_EXECUTABLE} - $ENV{EMSCRIPTEN}/tools/webidl_binder.py - ${draco_animation_js_enc_idl} - ${draco_build_dir}/glue_animation_encoder) - if(NOT EXISTS "${draco_build_dir}/glue_animation_decoder.cpp" - OR NOT EXISTS "${draco_build_dir}/glue_animation_encoder.cpp") - message(FATAL_ERROR "Animation glue generation failed.") - endif() - endif() - - # Add a custom rule depending on the IDL to regenerate - # ${draco_build_dir}/glue_decoder.cpp as needed. - add_custom_command(OUTPUT ${draco_build_dir}/glue_decoder.cpp - COMMAND ${PYTHON_EXECUTABLE} - $ENV{EMSCRIPTEN}/tools/webidl_binder.py - ${draco_js_dec_idl} ${draco_build_dir}/glue_decoder - DEPENDS ${draco_js_dec_idl} - COMMENT "Generating ${draco_build_dir}/glue_decoder.cpp." - WORKING_DIRECTORY ${draco_build_dir} - VERBATIM) - - add_custom_command(OUTPUT ${draco_build_dir}/glue_encoder.cpp - COMMAND ${PYTHON_EXECUTABLE} - $ENV{EMSCRIPTEN}/tools/webidl_binder.py - ${draco_js_enc_idl} ${draco_build_dir}/glue_encoder - DEPENDS ${draco_js_enc_idl} - COMMENT "Generating ${draco_build_dir}/glue_encoder.cpp." - WORKING_DIRECTORY ${draco_build_dir} - VERBATIM) - - if(BUILD_ANIMATION_ENCODING) - add_custom_command( - OUTPUT ${draco_build_dir}/glue_animation_decoder.cpp - COMMAND ${PYTHON_EXECUTABLE} $ENV{EMSCRIPTEN}/tools/webidl_binder.py - ${draco_animation_js_dec_idl} - ${draco_build_dir}/glue_animation_decoder - DEPENDS ${draco_animation_js_dec_idl} - COMMENT "Generating ${draco_build_dir}/glue_animation_decoder.cpp." - WORKING_DIRECTORY ${draco_build_dir} - VERBATIM) - add_custom_command( - OUTPUT ${draco_build_dir}/glue_animation_encoder.cpp - COMMAND ${PYTHON_EXECUTABLE} $ENV{EMSCRIPTEN}/tools/webidl_binder.py - ${draco_animation_js_enc_idl} - ${draco_build_dir}/glue_animation_encoder - DEPENDS ${draco_animation_js_enc_idl} - COMMENT "Generating ${draco_build_dir}/glue_animation_encoder.cpp." - WORKING_DIRECTORY ${draco_build_dir} - VERBATIM) - endif() - - set(draco_decoder_src - ${draco_attributes_sources} - ${draco_compression_attributes_dec_sources} - ${draco_compression_attributes_pred_schemes_dec_sources} - ${draco_compression_bit_coders_sources} - ${draco_compression_decode_sources} - ${draco_compression_entropy_sources} - ${draco_compression_mesh_traverser_sources} - ${draco_compression_mesh_dec_sources} - ${draco_compression_point_cloud_dec_sources} - ${draco_core_sources} - ${draco_dec_config_sources} - ${draco_mesh_sources} - ${draco_metadata_dec_sources} - ${draco_metadata_sources} - ${draco_point_cloud_sources} - ${draco_points_dec_sources}) - - set(draco_encoder_src - ${draco_attributes_sources} - ${draco_compression_attributes_enc_sources} - ${draco_compression_attributes_pred_schemes_enc_sources} - ${draco_compression_bit_coders_sources} - ${draco_compression_encode_sources} - ${draco_compression_entropy_sources} - ${draco_compression_mesh_traverser_sources} - ${draco_compression_mesh_enc_sources} - ${draco_compression_point_cloud_enc_sources} - ${draco_core_sources} - ${draco_enc_config_sources} - ${draco_mesh_sources} - ${draco_metadata_enc_sources} - ${draco_metadata_sources} - ${draco_point_cloud_sources} - ${draco_points_enc_sources}) - - add_executable(draco_decoder ${draco_js_dec_sources} ${draco_decoder_src}) - append_link_flag_to_target(draco_decoder - "-s EXPORT_NAME=\"'DracoDecoderModule'\"") - - add_executable(draco_encoder ${draco_js_enc_sources} ${draco_encoder_src}) - append_link_flag_to_target(draco_encoder - "-s EXPORT_NAME=\"'DracoEncoderModule'\"") - - draco_enable_feature(FEATURE DRACO_ATTRIBUTE_INDICES_DEDUPLICATION_SUPPORTED - TARGETS draco_encoder) - draco_enable_feature(FEATURE DRACO_ATTRIBUTE_VALUES_DEDUPLICATION_SUPPORTED - TARGETS draco_encoder) - if(ENABLE_DECODER_ATTRIBUTE_DEDUPLICATION) - draco_enable_feature(FEATURE DRACO_ATTRIBUTE_INDICES_DEDUPLICATION_SUPPORTED - TARGETS draco_decoder) - draco_enable_feature(FEATURE DRACO_ATTRIBUTE_VALUES_DEDUPLICATION_SUPPORTED - TARGETS draco_decoder) + list(APPEND draco_pre_link_js_sources + "${draco_src_root}/javascript/emscripten/prepareCallbacks.js" + "${draco_src_root}/javascript/emscripten/version.js") + list(APPEND draco_post_link_js_sources + "${draco_src_root}/javascript/emscripten/finalize.js") + list(APPEND draco_post_link_js_decoder_sources ${draco_post_link_js_sources} + "${draco_src_root}/javascript/emscripten/decoder_functions.js") + + set(draco_decoder_glue_path "${draco_build}/glue_decoder") + set(draco_encoder_glue_path "${draco_build}/glue_encoder") + + draco_generate_emscripten_glue(INPUT_IDL ${draco_js_dec_idl} OUTPUT_PATH + ${draco_decoder_glue_path}) + draco_generate_emscripten_glue(INPUT_IDL ${draco_js_enc_idl} OUTPUT_PATH + ${draco_encoder_glue_path}) + + if(DRACO_DECODER_ATTRIBUTE_DEDUPLICATION) + list(APPEND draco_decoder_features + "DRACO_ATTRIBUTE_INDICES_DEDUPLICATION_SUPPORTED" + "DRACO_ATTRIBUTE_VALUES_DEDUPLICATION_SUPPORTED") endif() - # Make $draco_js_sources source files depend on glue_decoder.cpp. - set_property(SOURCE ${draco_js_sources} - APPEND - PROPERTY OBJECT_DEPENDS ${draco_build_dir}/glue_decoder.cpp) - em_link_pre_js(draco_decoder - "${draco_src_root}/javascript/emscripten/prepareCallbacks.js" - "${draco_src_root}/javascript/emscripten/version.js") - em_link_post_js(draco_decoder "${draco_build_dir}/glue_decoder.js" - "${draco_src_root}/javascript/emscripten/finalize.js") - - set_property(SOURCE ${draco_js_enc_sources} - APPEND - PROPERTY OBJECT_DEPENDS ${draco_build_dir}/glue_encoder.cpp) - em_link_pre_js(draco_encoder - "${draco_src_root}/javascript/emscripten/prepareCallbacks.js" - "${draco_src_root}/javascript/emscripten/version.js") - em_link_post_js(draco_encoder "${draco_build_dir}/glue_encoder.js" - "${draco_src_root}/javascript/emscripten/finalize.js") - - if(BUILD_ANIMATION_ENCODING) - add_executable(draco_animation_decoder ${draco_animation_dec_sources} - ${draco_animation_js_dec_sources} - ${draco_animation_sources} - ${draco_decoder_src}) - add_executable(draco_animation_encoder ${draco_animation_enc_sources} - ${draco_animation_js_enc_sources} - ${draco_animation_sources} - ${draco_encoder_src}) - append_link_flag_to_target( + draco_add_emscripten_executable(NAME + draco_decoder + SOURCES + ${draco_decoder_src} + DEFINES + ${draco_defines} + FEATURES + ${draco_decoder_features} + INCLUDES + ${draco_include_paths} + LINK_FLAGS + "-sEXPORT_NAME=\"DracoDecoderModule\"" + GLUE_PATH + ${draco_decoder_glue_path} + PRE_LINK_JS_SOURCES + ${draco_pre_link_js_sources} + POST_LINK_JS_SOURCES + ${draco_post_link_js_decoder_sources}) + + draco_add_emscripten_executable( + NAME + draco_encoder + SOURCES + ${draco_encoder_src} + DEFINES + ${draco_defines} + FEATURES + DRACO_ATTRIBUTE_INDICES_DEDUPLICATION_SUPPORTED + DRACO_ATTRIBUTE_VALUES_DEDUPLICATION_SUPPORTED + INCLUDES + ${draco_include_paths} + LINK_FLAGS + "-sEXPORT_NAME=\"DracoEncoderModule\"" + GLUE_PATH + ${draco_encoder_glue_path} + PRE_LINK_JS_SOURCES + ${draco_pre_link_js_sources} + POST_LINK_JS_SOURCES + ${draco_post_link_js_sources}) + + if(DRACO_ANIMATION_ENCODING) + set(draco_anim_decoder_glue_path "${draco_build}/glue_animation_decoder") + set(draco_anim_encoder_glue_path "${draco_build}/glue_animation_encoder") + + draco_generate_emscripten_glue(INPUT_IDL ${draco_animation_js_dec_idl} + OUTPUT_PATH ${draco_anim_decoder_glue_path}) + draco_generate_emscripten_glue(INPUT_IDL ${draco_animation_js_enc_idl} + OUTPUT_PATH ${draco_anim_encoder_glue_path}) + + draco_add_emscripten_executable( + NAME draco_animation_decoder - "-s EXPORT_NAME=\"'DracoAnimationDecoderModule'\"") - append_link_flag_to_target( + SOURCES + ${draco_animation_dec_sources} + ${draco_animation_js_dec_sources} + ${draco_animation_sources} + ${draco_decoder_src} + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths} + LINK_FLAGS + "-sEXPORT_NAME=\"DracoAnimationDecoderModule\"" + GLUE_PATH + ${draco_anim_decoder_glue_path} + PRE_LINK_JS_SOURCES + ${draco_pre_link_js_sources} + POST_LINK_JS_SOURCES + ${draco_post_link_js_decoder_sources}) + + draco_add_emscripten_executable( + NAME draco_animation_encoder - "-s EXPORT_NAME=\"'DracoAnimationEncoderModule'\"") - - set_property(SOURCE ${draco_js_sources} - APPEND - PROPERTY OBJECT_DEPENDS - ${draco_build_dir}/glue_animation_decoder.cpp) - em_link_pre_js(draco_animation_decoder - "${draco_src_root}/javascript/emscripten/prepareCallbacks.js" - "${draco_src_root}/javascript/emscripten/version.js") - em_link_post_js(draco_animation_decoder - "${draco_build_dir}/glue_animation_decoder.js" - "${draco_src_root}/javascript/emscripten/finalize.js") - - set_property(SOURCE ${draco_js_enc_sources} - APPEND - PROPERTY OBJECT_DEPENDS - ${draco_build_dir}/glue_animation_encoder.cpp) - em_link_pre_js(draco_animation_encoder - "${draco_src_root}/javascript/emscripten/prepareCallbacks.js" - "${draco_src_root}/javascript/emscripten/version.js") - em_link_post_js(draco_animation_encoder - "${draco_build_dir}/glue_animation_encoder.js" - "${draco_src_root}/javascript/emscripten/finalize.js") + SOURCES + ${draco_animation_enc_sources} + ${draco_animation_js_enc_sources} + ${draco_animation_sources} + ${draco_encoder_src} + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths} + LINK_FLAGS + "-sEXPORT_NAME=\"DracoAnimationEncoderModule\"" + GLUE_PATH + ${draco_anim_encoder_glue_path} + PRE_LINK_JS_SOURCES + ${draco_pre_link_js_sources} + POST_LINK_JS_SOURCES + ${draco_post_link_js_sources}) endif() else() # Standard Draco libs, encoder and decoder. Object collections that mirror the # Draco directory structure. - if(BUILD_SHARED_LIBS) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) - endif() - add_library(draco_attributes OBJECT ${draco_attributes_sources}) - add_library(draco_compression_attributes_dec - OBJECT ${draco_compression_attributes_dec_sources}) - add_library(draco_compression_attributes_enc - OBJECT ${draco_compression_attributes_enc_sources}) - add_library(draco_compression_attributes_pred_schemes_dec - OBJECT ${draco_compression_attributes_pred_schemes_dec_sources}) - add_library(draco_compression_attributes_pred_schemes_enc - OBJECT ${draco_compression_attributes_pred_schemes_enc_sources}) - add_library(draco_compression_bit_coders - OBJECT ${draco_compression_bit_coders_sources}) - add_library(draco_enc_config OBJECT ${draco_enc_config_sources}) - add_library(draco_dec_config OBJECT ${draco_dec_config_sources}) - add_library(draco_compression_decode OBJECT - ${draco_compression_decode_sources}) - add_library(draco_compression_encode OBJECT - ${draco_compression_encode_sources}) - add_library(draco_compression_entropy OBJECT - ${draco_compression_entropy_sources}) - add_library(draco_compression_mesh_traverser - OBJECT ${draco_compression_mesh_traverser_sources}) - add_library(draco_compression_mesh_dec OBJECT - ${draco_compression_mesh_dec_sources}) - add_library(draco_compression_mesh_enc OBJECT - ${draco_compression_mesh_enc_sources}) - add_library(draco_compression_point_cloud_dec - OBJECT ${draco_compression_point_cloud_dec_sources}) - add_library(draco_compression_point_cloud_enc - OBJECT ${draco_compression_point_cloud_enc_sources}) - add_library(draco_core OBJECT ${draco_core_sources}) - add_library(draco_io OBJECT ${draco_io_sources}) - add_library(draco_mesh OBJECT ${draco_mesh_sources}) - add_library(draco_metadata_dec OBJECT ${draco_metadata_dec_sources}) - add_library(draco_metadata_enc OBJECT ${draco_metadata_enc_sources}) - add_library(draco_metadata OBJECT ${draco_metadata_sources}) - add_library(draco_animation_dec OBJECT ${draco_animation_dec_sources}) - add_library(draco_animation_enc OBJECT ${draco_animation_enc_sources}) - add_library(draco_animation OBJECT ${draco_animation_sources}) - add_library(draco_point_cloud OBJECT ${draco_point_cloud_sources}) - add_library(draco_points_dec OBJECT ${draco_points_common_sources} - ${draco_points_dec_sources}) - add_library(draco_points_enc OBJECT ${draco_points_common_sources} - ${draco_points_enc_sources}) - - if(BUILD_UNITY_PLUGIN) - add_library(draco_unity_plugin OBJECT ${draco_unity_plug_sources}) - endif() + draco_add_library(NAME draco_attributes TYPE OBJECT SOURCES + ${draco_attributes_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + draco_add_library(NAME + draco_compression_attributes_dec + OBJECT + ${draco_compression_attributes_dec_sources} + TYPE + OBJECT + SOURCES + ${draco_compression_attributes_dec_sources} + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths}) + draco_add_library(NAME draco_compression_attributes_enc TYPE OBJECT SOURCES + ${draco_compression_attributes_enc_sources} DEFINES + ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_compression_attributes_pred_schemes_dec TYPE + OBJECT SOURCES + ${draco_compression_attributes_pred_schemes_dec_sources}) + draco_add_library(NAME draco_compression_attributes_pred_schemes_enc TYPE + OBJECT SOURCES + ${draco_compression_attributes_pred_schemes_enc_sources} + DEFINES ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_compression_bit_coders TYPE OBJECT SOURCES + ${draco_compression_bit_coders_sources} DEFINES + ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_enc_config TYPE OBJECT SOURCES + ${draco_enc_config_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_dec_config TYPE OBJECT SOURCES + ${draco_dec_config_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_compression_decode TYPE OBJECT SOURCES + ${draco_compression_decode_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_compression_encode TYPE OBJECT SOURCES + ${draco_compression_encode_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_compression_entropy TYPE OBJECT SOURCES + ${draco_compression_entropy_sources} DEFINES + ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_compression_mesh_traverser TYPE OBJECT SOURCES + ${draco_compression_mesh_traverser_sources} DEFINES + ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_compression_mesh_dec TYPE OBJECT SOURCES + ${draco_compression_mesh_dec_sources} DEFINES + ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_compression_mesh_enc TYPE OBJECT SOURCES + ${draco_compression_mesh_enc_sources} DEFINES + ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_compression_point_cloud_dec TYPE OBJECT SOURCES + ${draco_compression_point_cloud_dec_sources} DEFINES + ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_compression_point_cloud_enc TYPE OBJECT SOURCES + ${draco_compression_point_cloud_enc_sources} DEFINES + ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_core TYPE OBJECT SOURCES ${draco_core_sources} + DEFINES ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_io TYPE OBJECT SOURCES ${draco_io_sources} + DEFINES ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_mesh TYPE OBJECT SOURCES ${draco_mesh_sources} + DEFINES ${draco_defines} INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_metadata_dec TYPE OBJECT SOURCES + ${draco_metadata_dec_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_metadata_enc TYPE OBJECT SOURCES + ${draco_metadata_enc_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_metadata TYPE OBJECT SOURCES + ${draco_metadata_sources} DEFINES ${draco_defines} INCLUDES + ${draco_include_paths}) + draco_add_library(NAME draco_animation_dec TYPE OBJECT SOURCES + ${draco_animation_dec_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_animation_enc TYPE OBJECT SOURCES + ${draco_animation_enc_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + draco_add_library(NAME draco_animation TYPE OBJECT SOURCES + ${draco_animation_sources} DEFINES ${draco_defines} INCLUDES + ${draco_include_paths}) + draco_add_library(NAME draco_point_cloud TYPE OBJECT SOURCES + ${draco_point_cloud_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + draco_add_library(NAME + draco_points_dec + TYPE + OBJECT + SOURCES + ${draco_points_common_sources} + ${draco_points_dec_sources} + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths}) + draco_add_library(NAME + draco_points_enc + TYPE + OBJECT + SOURCES + ${draco_points_common_sources} + ${draco_points_enc_sources} + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths}) + + set(draco_object_library_deps + draco_attributes + draco_compression_attributes_dec + draco_compression_attributes_enc + draco_compression_attributes_pred_schemes_dec + draco_compression_attributes_pred_schemes_enc + draco_compression_bit_coders + draco_compression_decode + draco_compression_encode + draco_compression_entropy + draco_compression_mesh_dec + draco_compression_mesh_enc + draco_compression_point_cloud_dec + draco_compression_point_cloud_enc + draco_core + draco_dec_config + draco_enc_config + draco_io + draco_mesh + draco_metadata + draco_metadata_dec + draco_metadata_enc + draco_animation + draco_animation_dec + draco_animation_enc + draco_point_cloud + draco_points_dec + draco_points_enc) + + # Library targets that consume the object collections. + if(MSVC OR WIN32) + # In order to produce a DLL and import library the Windows tools require + # that the exported symbols are part of the DLL target. The unfortunate side + # effect of this is that a single configuration cannot output both the + # static library and the DLL: This results in an either/or situation. + # Windows users of the draco build can have a DLL and an import library, + # or they can have a static library; they cannot have both from a single + # configuration of the build. + if(BUILD_SHARED_LIBS) + set(draco_lib_type SHARED) + else() + set(draco_lib_type STATIC) + endif() + draco_add_library(NAME + draco + OUTPUT_NAME + draco + TYPE + ${draco_lib_type} + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths} + OBJLIB_DEPS + ${draco_object_library_deps}) - if(BUILD_MAYA_PLUGIN) - add_library(draco_maya_plugin OBJECT ${draco_maya_plug_sources}) + else() + draco_add_library(NAME + draco_static + OUTPUT_NAME + draco + TYPE + STATIC + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths} + OBJLIB_DEPS + ${draco_object_library_deps}) + + if(BUILD_SHARED_LIBS) + draco_add_library(NAME + draco_shared + SOURCES + "${draco_src_root}/core/draco_version.h" + OUTPUT_NAME + draco + TYPE + SHARED + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths} + LIB_DEPS + draco_static) + endif() endif() - # Library targets that consume the object collections. - add_library(dracodec - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $) - add_library(dracoenc - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $) - add_library(draco - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $) - if(BUILD_UNITY_PLUGIN) - set(unity_decoder_lib_type MODULE) + if(DRACO_UNITY_PLUGIN) if(IOS) set(unity_decoder_lib_type STATIC) + else() + set(unity_decoder_lib_type MODULE) endif() - list(APPEND draco_header_only_targets dracodec_unity) - add_library(dracodec_unity ${unity_decoder_lib_type} - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $) - # For Mac, we need to build a .bundle for plugin. + + draco_add_library(NAME draco_unity_plugin TYPE OBJECT SOURCES + ${draco_unity_plug_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + + draco_add_library(NAME + dracodec_unity + TYPE + ${unity_decoder_lib_type} + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths} + OBJLIB_DEPS + draco_unity_plugin + LIB_DEPS + ${draco_plugin_dependency}) + + # For Mac, we need to build a .bundle for the unity plugin. if(APPLE) set_target_properties(dracodec_unity PROPERTIES BUNDLE true) + elseif(NOT unity_decoder_lib_type STREQUAL STATIC) + set_target_properties(dracodec_unity + PROPERTIES SOVERSION ${DRACO_SOVERSION}) endif() endif() - if(BUILD_MAYA_PLUGIN) - add_library(draco_maya_wrapper MODULE - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $) - - # For Mac, we need to build a .bundle for plugin. + if(DRACO_MAYA_PLUGIN) + draco_add_library(NAME draco_maya_plugin TYPE OBJECT SOURCES + ${draco_maya_plug_sources} DEFINES ${draco_defines} + INCLUDES ${draco_include_paths}) + + draco_add_library(NAME + draco_maya_wrapper + TYPE + MODULE + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths} + OBJLIB_DEPS + draco_maya_plugin + LIB_DEPS + ${draco_plugin_dependency}) + + # For Mac, we need to build a .bundle for the plugin. if(APPLE) set_target_properties(draco_maya_wrapper PROPERTIES BUNDLE true) + else() + set_target_properties(draco_maya_wrapper + PROPERTIES SOVERSION ${DRACO_SOVERSION}) endif() endif() - list(APPEND draco_header_only_targets - draco dracodec dracoenc draco_compression_attributes_pred_schemes_dec - draco_compression_mesh_traverser draco_dec_config draco_enc_config) - - # For now, enable deduplication for both encoder and decoder. - # TODO(ostava): Support for disabling attribute deduplication for the C++ - # decoder is planned in future releases. - draco_enable_feature(FEATURE DRACO_ATTRIBUTE_INDICES_DEDUPLICATION_SUPPORTED) - draco_enable_feature(FEATURE DRACO_ATTRIBUTE_VALUES_DEDUPLICATION_SUPPORTED) - - if(BUILD_SHARED_LIBS) - set_target_properties(dracodec PROPERTIES SOVERSION 1) - set_target_properties(dracoenc PROPERTIES SOVERSION 1) - set_target_properties(draco PROPERTIES SOVERSION 1) - if(BUILD_UNITY_PLUGIN AND (NOT APPLE)) - set_target_properties(dracodec_unity PROPERTIES SOVERSION 1) - endif() - if(BUILD_MAYA_PLUGIN AND (NOT APPLE)) - set_target_properties(draco_maya_wrapper PROPERTIES SOVERSION 1) - endif() - endif() - - extract_version_string("${draco_src_root}/core/draco_version.h" draco_version) - - if(NOT MSVC) - # Generate draco.pc. - set(prefix "${CMAKE_INSTALL_PREFIX}") - set(pkgconfig_file "${draco_build_dir}/draco.pc") - file(WRITE "${pkgconfig_file}" "# draco pkg-config.\n") - file(APPEND "${pkgconfig_file}" "prefix=${prefix}\n") - file(APPEND "${pkgconfig_file}" "exec_prefix=${prefix}/bin\n") - file(APPEND "${pkgconfig_file}" "libdir=${prefix}/lib\n") - file(APPEND "${pkgconfig_file}" "includedir=${prefix}/include\n\n") - file(APPEND "${pkgconfig_file}" "Name: Draco\n") - file(APPEND "${pkgconfig_file}" "Description: 3D Compression.\n") - file(APPEND "${pkgconfig_file}" "Version: ${draco_version}\n") - file(APPEND "${pkgconfig_file}" "Requires:\n") - file(APPEND "${pkgconfig_file}" "Conflicts:\n") - file(APPEND "${pkgconfig_file}" "Libs: -L${prefix}/lib -ldraco\n") - file(APPEND "${pkgconfig_file}" "Cflags: -I${prefix}/include -std=c++11\n") - endif() - # Draco app targets. - add_executable(draco_decoder "${draco_src_root}/tools/draco_decoder.cc" - ${draco_io_sources}) - target_link_libraries(draco_decoder PRIVATE dracodec) - add_executable(draco_encoder "${draco_src_root}/tools/draco_encoder.cc" - ${draco_io_sources}) - target_link_libraries(draco_encoder PRIVATE draco) - - if(ENABLE_TESTS) - draco_setup_test_targets() - endif() - - # Collect all of the header files in the tree, and add an install rule for - # each. - file(GLOB_RECURSE draco_headers RELATIVE ${draco_root}/src/draco "*.h") - foreach(filename ${draco_headers}) - get_filename_component(file_directory ${filename} DIRECTORY) - install( - FILES src/draco/${filename} - DESTINATION "${CMAKE_INSTALL_PREFIX}/include/draco/${file_directory}") - endforeach() - - install(FILES "${draco_build_dir}/draco/draco_features.h" - DESTINATION "${CMAKE_INSTALL_PREFIX}/include/draco/") - - if(NOT MSVC) - # Install our pkg-config file. - install(FILES "${draco_build_dir}/draco.pc" - DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") - endif() - - # Add install rules for lib and executable targets. - install(TARGETS dracodec dracoenc draco DESTINATION - "${CMAKE_INSTALL_PREFIX}/lib") - if(BUILD_UNITY_PLUGIN) - install(TARGETS dracodec_unity DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") - endif() - if(BUILD_MAYA_PLUGIN) - install( - TARGETS draco_maya_wrapper DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") - endif() - - install(TARGETS draco_decoder draco_encoder DESTINATION - "${CMAKE_INSTALL_PREFIX}/bin") - - # Generate a CMake config file. - set(draco_include_install_dir "include/draco") - set(draco_lib_install_dir "lib") - set(draco_script_install_dir - "${CMAKE_INSTALL_PREFIX}/${draco_lib_install_dir}/draco/cmake") - set(draco_config_in_file "${draco_root}/cmake/DracoConfig.cmake") - set(draco_config_out_file "${draco_build_dir}/DracoConfig.cmake") - - configure_package_config_file("${draco_config_in_file}" - "${draco_config_out_file}" - NO_CHECK_REQUIRED_COMPONENTS_MACRO - INSTALL_DESTINATION - "${draco_lib_install_dir}/draco/cmake" PATH_VARS - draco_include_install_dir draco_lib_install_dir) - write_basic_package_version_file("${draco_build_dir}/DracoConfigVersion.cmake" - VERSION ${draco_version} - COMPATIBILITY SameMajorVersion) - - # Read in the config file and rewrite it with a version string included. - file(STRINGS "${draco_config_out_file}" draco_config_strings) - file(WRITE "${draco_config_out_file}" - "set(draco_VERSION \"${draco_version}\")\n") - foreach(config_string ${draco_config_strings}) - file(APPEND "${draco_config_out_file}" "${config_string}\n") - endforeach() - - # Add install rules for CMake helper scripts. - set(draco_cmake_helper_scripts "${draco_root}/cmake/FindDraco.cmake" - "${draco_build_dir}/DracoConfig.cmake" - "${draco_build_dir}/DracoConfigVersion.cmake") - install(FILES ${draco_cmake_helper_scripts} - DESTINATION "${draco_script_install_dir}") - - # Some generators complain about unknown link language for header only - # targets. Silence the harmless warnings/errors with some dummy source files. - foreach(target ${draco_header_only_targets}) - add_dummy_source_file_to_target("${target}" "cc") - endforeach() + draco_add_executable(NAME + draco_decoder + SOURCES + "${draco_src_root}/tools/draco_decoder.cc" + ${draco_io_sources} + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths} + LIB_DEPS + ${draco_dependency}) + + draco_add_executable(NAME + draco_encoder + SOURCES + "${draco_src_root}/tools/draco_encoder.cc" + ${draco_io_sources} + DEFINES + ${draco_defines} + INCLUDES + ${draco_include_paths} + LIB_DEPS + ${draco_dependency}) + + draco_setup_install_target() + draco_setup_test_targets() endif() -# Generate $draco_build_dir/draco/draco_features.h. -draco_generate_features_h() +if(DRACO_VERBOSE) + draco_dump_cmake_flag_variables() + draco_dump_tracked_configuration_variables() + draco_dump_options() +endif() diff --git a/LICENSE b/LICENSE index 7a4a3ea2..30109545 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,3 @@ - Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -199,4 +198,55 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file + limitations under the License. + +-------------------------------------------------------------------------------- +Files: docs/assets/js/ASCIIMathML.js + +Copyright (c) 2014 Peter Jipsen and other ASCIIMathML.js contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +-------------------------------------------------------------------------------- +Files: docs/assets/css/pygments/* + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/README.md b/README.md index 047145c5..3fed82ec 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,32 @@ News ======= +### Version 1.4.0 release +* WASM and JavaScript decoders are hosted from a static URL. + * It is recommended to always pull your Draco WASM and JavaScript decoders from this URL: + * https://www.gstatic.com/draco/v1/decoders/* + * Replace * with the files to load. E.g. + * https://www.gstatic.com/draco/v1/decoders/draco_decoder_gltf.wasm + * Users will benefit from having the Draco decoder in cache as more sites start using the static URL +* Changed npm modules to use WASM, which increased performance by ~200%. +* Updated Emscripten to 2.0. + * This causes the Draco codec modules to return a promise instead of the module directly. + * Please see the example code on how to handle the promise. +* Changed NORMAL quantization default to 8. +* Added new array API to decoder and deprecated DecoderBuffer. + * See PR https://github.com/google/draco/issues/513 for more information. +* Changed WASM/JavaScript behavior of catching exceptions. + * See issue https://github.com/google/draco/issues/629 for more information. +* Code cleanup. +* Emscripten builds now disable NODEJS_CATCH_EXIT and NODEJS_CATCH_REJECTION. + * Authors of a CLI tool might want to add their own error handlers. +* Added Maya plugin builds. +* Unity plugin builds updated. + * Builds are now stored as archives. + * Added iOS build. + * Unity users may want to look into https://github.com/atteneder/DracoUnity. +* Bug fixes. + ### Version 1.3.6 release * WASM and JavaScript decoders are now hosted from a static URL * It is recommended to always pull your Draco WASM and JavaScript decoders from this URL: diff --git a/cmake/draco-config.cmake.template b/cmake/draco-config.cmake.template new file mode 100644 index 00000000..ca4a456b --- /dev/null +++ b/cmake/draco-config.cmake.template @@ -0,0 +1,2 @@ +set(DRACO_INCLUDE_DIRS "@DRACO_INCLUDE_DIRS@") +set(DRACO_LIBRARIES "draco") diff --git a/cmake/draco.pc.template b/cmake/draco.pc.template new file mode 100644 index 00000000..b8ae4821 --- /dev/null +++ b/cmake/draco.pc.template @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: @PROJECT_NAME@ +Description: Draco geometry de(com)pression library. +Version: @DRACO_VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -ldraco +Libs.private: @CMAKE_THREAD_LIBS_INIT@ diff --git a/cmake/draco_build_definitions.cmake b/cmake/draco_build_definitions.cmake new file mode 100644 index 00000000..c1ada620 --- /dev/null +++ b/cmake/draco_build_definitions.cmake @@ -0,0 +1,117 @@ +if(DRACO_CMAKE_DRACO_BUILD_DEFINITIONS_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_BUILD_DEFINITIONS_CMAKE_ +set(DRACO_CMAKE_DRACO_BUILD_DEFINITIONS_CMAKE_ 1) + +# Utility for controlling the main draco library dependency. This changes in +# shared builds, and when an optional target requires a shared library build. +macro(set_draco_target) + if(MSVC OR WIN32) + set(draco_dependency draco) + set(draco_plugin_dependency ${draco_dependency}) + else() + if(BUILD_SHARED_LIBS) + set(draco_dependency draco_shared) + else() + set(draco_dependency draco_static) + endif() + set(draco_plugin_dependency draco_static) + endif() + + if(BUILD_SHARED_LIBS) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + endif() +endmacro() + +# Configures flags and sets build system globals. +macro(draco_set_build_definitions) + string(TOLOWER "${CMAKE_BUILD_TYPE}" build_type_lowercase) + + if(build_type_lowercase MATCHES "rel" AND DRACO_FAST) + if(MSVC) + list(APPEND draco_msvc_cxx_flags "/Ox") + else() + list(APPEND draco_base_cxx_flags "-O3") + endif() + endif() + + draco_load_version_info() + set(DRACO_SOVERSION 1) + + list(APPEND draco_include_paths "${draco_root}" "${draco_root}/src" + "${draco_build}") + + if(DRACO_ABSL) + list(APPEND draco_include_path "${draco_root}/third_party/abseil-cpp") + endif() + + + list(APPEND draco_gtest_include_paths + "${draco_root}/../googletest/googlemock/include" + "${draco_root}/../googletest/googlemock" + "${draco_root}/../googletest/googletest/include" + "${draco_root}/../googletest/googletest") + list(APPEND draco_test_include_paths ${draco_include_paths} + ${draco_gtest_include_paths}) + list(APPEND draco_defines "DRACO_CMAKE=1" + "DRACO_FLAGS_SRCDIR=\"${draco_root}\"" + "DRACO_FLAGS_TMPDIR=\"/tmp\"") + + if(MSVC OR WIN32) + list(APPEND draco_defines "_CRT_SECURE_NO_DEPRECATE=1" "NOMINMAX=1") + + if(BUILD_SHARED_LIBS) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) + endif() + endif() + + if(ANDROID) + if(CMAKE_ANDROID_ARCH_ABI STREQUAL "armeabi-v7a") + set(CMAKE_ANDROID_ARM_MODE ON) + endif() + endif() + + set_draco_target() + + if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6") + # Quiet warnings in copy-list-initialization where {} elision has always + # been allowed. + list(APPEND draco_clang_cxx_flags "-Wno-missing-braces") + endif() + endif() + + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "7") + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7") + # Quiet gcc 6 vs 7 abi warnings: + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728 + list(APPEND draco_base_cxx_flags "-Wno-psabi") + list(APPEND ABSL_GCC_FLAGS "-Wno-psabi") + endif() + endif() + endif() + + # Source file names ending in these suffixes will have the appropriate + # compiler flags added to their compile commands to enable intrinsics. + set(draco_neon_source_file_suffix "neon.cc") + set(draco_sse4_source_file_suffix "sse4.cc") + + if((${CMAKE_CXX_COMPILER_ID} + STREQUAL + "GNU" + AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 5) + OR (${CMAKE_CXX_COMPILER_ID} + STREQUAL + "Clang" + AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4)) + message( + WARNING "GNU/GCC < v5 or Clang/LLVM < v4, ENABLING COMPATIBILITY MODE.") + draco_enable_feature(FEATURE "DRACO_OLD_GCC") + endif() + + if(EMSCRIPTEN) + draco_check_emscripten_environment() + draco_get_required_emscripten_flags(FLAG_LIST_VAR draco_base_cxx_flags) + endif() +endmacro() diff --git a/cmake/draco_cpu_detection.cmake b/cmake/draco_cpu_detection.cmake new file mode 100644 index 00000000..96e4a289 --- /dev/null +++ b/cmake/draco_cpu_detection.cmake @@ -0,0 +1,28 @@ +if(DRACO_CMAKE_DRACO_CPU_DETECTION_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_CPU_DETECTION_CMAKE_ +set(DRACO_CMAKE_DRACO_CPU_DETECTION_CMAKE_ 1) + +# Detect optimizations available for the current target CPU. +macro(draco_optimization_detect) + if(DRACO_ENABLE_OPTIMIZATIONS) + string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" cpu_lowercase) + if(cpu_lowercase MATCHES "^arm|^aarch64") + set(draco_have_neon ON) + elseif(cpu_lowercase MATCHES "^x86|amd64") + set(draco_have_sse4 ON) + endif() + endif() + + if(draco_have_neon AND DRACO_ENABLE_NEON) + list(APPEND draco_defines "DRACO_ENABLE_NEON=1") + else() + list(APPEND draco_defines "DRACO_ENABLE_NEON=0") + endif() + + if(draco_have_sse4 AND DRACO_ENABLE_SSE4_1) + list(APPEND draco_defines "DRACO_ENABLE_SSE4_1=1") + else() + list(APPEND draco_defines "DRACO_ENABLE_SSE4_1=0") + endif() +endmacro() diff --git a/cmake/draco_emscripten.cmake b/cmake/draco_emscripten.cmake new file mode 100644 index 00000000..10c93504 --- /dev/null +++ b/cmake/draco_emscripten.cmake @@ -0,0 +1,185 @@ +if(DRACO_CMAKE_DRACO_EMSCRIPTEN_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_EMSCRIPTEN_CMAKE_ + +# Checks environment for Emscripten prerequisites. +macro(draco_check_emscripten_environment) + if(NOT PYTHONINTERP_FOUND) + message( + FATAL_ERROR + "Python required for Emscripten builds, but cmake cannot find it.") + endif() + if(NOT EXISTS "$ENV{EMSCRIPTEN}") + message( + FATAL_ERROR + "The EMSCRIPTEN environment variable must be set. See README.md.") + endif() +endmacro() + +# Obtains the required Emscripten flags for Draco targets. +macro(draco_get_required_emscripten_flags) + set(em_FLAG_LIST_VAR) + set(em_flags) + set(em_single_arg_opts FLAG_LIST_VAR) + set(em_multi_arg_opts) + cmake_parse_arguments(em "${em_flags}" "${em_single_arg_opts}" + "${em_multi_arg_opts}" ${ARGN}) + if(NOT em_FLAG_LIST_VAR) + message(FATAL "draco_get_required_emscripten_flags: FLAG_LIST_VAR required") + endif() + + if(DRACO_JS_GLUE) + unset(required_flags) + list(APPEND ${em_FLAG_LIST_VAR} "-sALLOW_MEMORY_GROWTH=1") + list(APPEND ${em_FLAG_LIST_VAR} "-Wno-almost-asm") + list(APPEND ${em_FLAG_LIST_VAR} "--memory-init-file" "0") + list(APPEND ${em_FLAG_LIST_VAR} "-fno-omit-frame-pointer") + list(APPEND ${em_FLAG_LIST_VAR} "-sMODULARIZE=1") + list(APPEND ${em_FLAG_LIST_VAR} "-sNO_FILESYSTEM=1") + list(APPEND ${em_FLAG_LIST_VAR} "-sEXPORTED_RUNTIME_METHODS=[]") + list(APPEND ${em_FLAG_LIST_VAR} "-sPRECISE_F32=1") + list(APPEND ${em_FLAG_LIST_VAR} "-sNODEJS_CATCH_EXIT=0") + list(APPEND ${em_FLAG_LIST_VAR} "-sNODEJS_CATCH_REJECTION=0") + + if(DRACO_FAST) + list(APPEND ${em_FLAG_LIST_VAR} "--llvm-lto" "1") + endif() + if(DRACO_WASM) + list(APPEND ${em_FLAG_LIST_VAR} "-sWASM=1") + else() + list(APPEND ${em_FLAG_LIST_VAR} "-sWASM=0") + endif() + if(DRACO_IE_COMPATIBLE) + list(APPEND ${em_FLAG_LIST_VAR} "-sLEGACY_VM_SUPPORT=1") + endif() + endif() +endmacro() + +# Macro for generating C++ glue code from IDL for Emscripten targets. Executes +# python to generate the C++ binding, and establishes dendency: $OUTPUT_PATH.cpp +# on $INPUT_IDL. +macro(draco_generate_emscripten_glue) + set(glue_flags) + set(glue_single_arg_opts INPUT_IDL OUTPUT_PATH) + set(glue_multi_arg_opts) + cmake_parse_arguments(glue "${glue_flags}" "${glue_single_arg_opts}" + "${glue_multi_arg_opts}" ${ARGN}) + + if(DRACO_VERBOSE GREATER 1) + message("--------- draco_generate_emscripten_glue -----------\n" + "glue_INPUT_IDL=${glue_INPUT_IDL}\n" + "glue_OUTPUT_PATH=${glue_OUTPUT_PATH}\n" ] + "----------------------------------------------------\n") + endif() + + if(NOT glue_INPUT_IDL OR NOT glue_OUTPUT_PATH) + message( + FATAL_ERROR + "draco_generate_emscripten_glue: INPUT_IDL and OUTPUT_PATH required.") + endif() + + # Generate the glue source. + execute_process(COMMAND ${PYTHON_EXECUTABLE} + $ENV{EMSCRIPTEN}/tools/webidl_binder.py + ${glue_INPUT_IDL} ${glue_OUTPUT_PATH}) + if(NOT EXISTS "${glue_OUTPUT_PATH}.cpp") + message(FATAL_ERROR "JS glue generation failed for ${glue_INPUT_IDL}.") + endif() + + # Create a dependency so that it regenerated on edits. + add_custom_command(OUTPUT "${glue_OUTPUT_PATH}.cpp" + COMMAND ${PYTHON_EXECUTABLE} + $ENV{EMSCRIPTEN}/tools/webidl_binder.py + ${glue_INPUT_IDL} ${glue_OUTPUT_PATH} + DEPENDS ${draco_js_dec_idl} + COMMENT "Generating ${glue_OUTPUT_PATH}.cpp." + WORKING_DIRECTORY ${draco_build} + VERBATIM) +endmacro() + +# Wrapper for draco_add_executable() that handles the extra work necessary for +# emscripten targets when generating JS glue: +# +# ~~~ +# - Set source level dependency on the C++ binding. +# - Pre/Post link emscripten magic. +# +# Required args: +# - GLUE_PATH: Base path for glue file. Used to generate .cpp and .js files. +# - PRE_LINK_JS_SOURCES: em_link_pre_js() source files. +# - POST_LINK_JS_SOURCES: em_link_post_js() source files. +# Optional args: +# - FEATURES: +# ~~~ +macro(draco_add_emscripten_executable) + unset(emexe_NAME) + unset(emexe_FEATURES) + unset(emexe_SOURCES) + unset(emexe_DEFINES) + unset(emexe_INCLUDES) + unset(emexe_LINK_FLAGS) + set(optional_args) + set(single_value_args NAME GLUE_PATH) + set(multi_value_args SOURCES DEFINES FEATURES INCLUDES LINK_FLAGS + PRE_LINK_JS_SOURCES POST_LINK_JS_SOURCES) + + cmake_parse_arguments(emexe "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if(NOT + (emexe_GLUE_PATH + AND emexe_POST_LINK_JS_SOURCES + AND emexe_PRE_LINK_JS_SOURCES)) + message(FATAL + "draco_add_emscripten_executable: GLUE_PATH PRE_LINK_JS_SOURCES " + "POST_LINK_JS_SOURCES args required.") + endif() + + if(DRACO_VERBOSE GREATER 1) + message("--------- draco_add_emscripten_executable ---------\n" + "emexe_NAME=${emexe_NAME}\n" + "emexe_SOURCES=${emexe_SOURCES}\n" + "emexe_DEFINES=${emexe_DEFINES}\n" + "emexe_INCLUDES=${emexe_INCLUDES}\n" + "emexe_LINK_FLAGS=${emexe_LINK_FLAGS}\n" + "emexe_GLUE_PATH=${emexe_GLUE_PATH}\n" + "emexe_FEATURES=${emexe_FEATURES}\n" + "emexe_PRE_LINK_JS_SOURCES=${emexe_PRE_LINK_JS_SOURCES}\n" + "emexe_POST_LINK_JS_SOURCES=${emexe_POST_LINK_JS_SOURCES}\n" + "----------------------------------------------------\n") + endif() + + # The Emscripten linker needs the C++ flags in addition to whatever has been + # passed in with the target. + list(APPEND emexe_LINK_FLAGS ${DRACO_CXX_FLAGS}) + + if(DRACO_GLTF) + draco_add_executable(NAME + ${emexe_NAME} + OUTPUT_NAME + ${emexe_NAME}_gltf + SOURCES + ${emexe_SOURCES} + DEFINES + ${emexe_DEFINES} + INCLUDES + ${emexe_INCLUDES} + LINK_FLAGS + ${emexe_LINK_FLAGS}) + else() + draco_add_executable(NAME ${emexe_NAME} SOURCES ${emexe_SOURCES} DEFINES + ${emexe_DEFINES} INCLUDES ${emexe_INCLUDES} LINK_FLAGS + ${emexe_LINK_FLAGS}) + endif() + + foreach(feature ${emexe_FEATURES}) + draco_enable_feature(FEATURE ${feature} TARGETS ${emexe_NAME}) + endforeach() + + set_property(SOURCE ${emexe_SOURCES} + APPEND + PROPERTY OBJECT_DEPENDS "${emexe_GLUE_PATH}.cpp") + em_link_pre_js(${emexe_NAME} ${emexe_PRE_LINK_JS_SOURCES}) + em_link_post_js(${emexe_NAME} "${emexe_GLUE_PATH}.js" + ${emexe_POST_LINK_JS_SOURCES}) +endmacro() diff --git a/cmake/draco_flags.cmake b/cmake/draco_flags.cmake new file mode 100644 index 00000000..cb9d489e --- /dev/null +++ b/cmake/draco_flags.cmake @@ -0,0 +1,238 @@ +if(DRACO_CMAKE_DRACO_FLAGS_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_FLAGS_CMAKE_ +set(DRACO_CMAKE_DRACO_FLAGS_CMAKE_ 1) + +include(CheckCXXCompilerFlag) +include(CheckCXXSourceCompiles) + +# Adds compiler flags specified by FLAGS to the sources specified by SOURCES: +# +# draco_set_compiler_flags_for_sources(SOURCES FLAGS ) +macro(draco_set_compiler_flags_for_sources) + unset(compiler_SOURCES) + unset(compiler_FLAGS) + unset(optional_args) + unset(single_value_args) + set(multi_value_args SOURCES FLAGS) + cmake_parse_arguments(compiler "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if(NOT (compiler_SOURCES AND compiler_FLAGS)) + draco_die("draco_set_compiler_flags_for_sources: SOURCES and " + "FLAGS required.") + endif() + + set_source_files_properties(${compiler_SOURCES} PROPERTIES COMPILE_FLAGS + ${compiler_FLAGS}) + + if(DRACO_VERBOSE GREATER 1) + foreach(source ${compiler_SOURCES}) + foreach(flag ${compiler_FLAGS}) + message("draco_set_compiler_flags_for_sources: source:${source} " + "flag:${flag}") + endforeach() + endforeach() + endif() +endmacro() + +# Tests compiler flags stored in list(s) specified by FLAG_LIST_VAR_NAMES, adds +# flags to $DRACO_CXX_FLAGS when tests pass. Terminates configuration if +# FLAG_REQUIRED is specified and any flag check fails. +# +# ~~~ +# draco_test_cxx_flag(> +# [FLAG_REQUIRED]) +# ~~~ +macro(draco_test_cxx_flag) + unset(cxx_test_FLAG_LIST_VAR_NAMES) + unset(cxx_test_FLAG_REQUIRED) + unset(single_value_args) + set(optional_args FLAG_REQUIRED) + set(multi_value_args FLAG_LIST_VAR_NAMES) + cmake_parse_arguments(cxx_test "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if(NOT cxx_test_FLAG_LIST_VAR_NAMES) + draco_die("draco_test_cxx_flag: FLAG_LIST_VAR_NAMES required") + endif() + + unset(cxx_flags) + foreach(list_var ${cxx_test_FLAG_LIST_VAR_NAMES}) + if(DRACO_VERBOSE) + message("draco_test_cxx_flag: adding ${list_var} to cxx_flags") + endif() + list(APPEND cxx_flags ${${list_var}}) + endforeach() + + if(DRACO_VERBOSE) + message("CXX test: all flags: ${cxx_flags}") + endif() + + unset(all_cxx_flags) + list(APPEND all_cxx_flags ${DRACO_CXX_FLAGS} ${cxx_flags}) + + # Turn off output from check_cxx_source_compiles. Print status directly + # instead since the logging messages from check_cxx_source_compiles can be + # quite confusing. + set(CMAKE_REQUIRED_QUIET TRUE) + + # Run the actual compile test. + unset(draco_all_cxx_flags_pass CACHE) + message("--- Running combined CXX flags test, flags: ${all_cxx_flags}") + check_cxx_compiler_flag("${all_cxx_flags}" draco_all_cxx_flags_pass) + + if(cxx_test_FLAG_REQUIRED AND NOT draco_all_cxx_flags_pass) + draco_die("Flag test failed for required flag(s): " + "${all_cxx_flags} and FLAG_REQUIRED specified.") + endif() + + if(draco_all_cxx_flags_pass) + # Test passed: update the global flag list used by the draco target creation + # wrappers. + set(DRACO_CXX_FLAGS ${cxx_flags}) + list(REMOVE_DUPLICATES DRACO_CXX_FLAGS) + + if(DRACO_VERBOSE) + message("DRACO_CXX_FLAGS=${DRACO_CXX_FLAGS}") + endif() + + message("--- Passed combined CXX flags test") + else() + message("--- Failed combined CXX flags test, testing flags individually.") + + if(cxx_flags) + message("--- Testing flags from $cxx_flags: " "${cxx_flags}") + foreach(cxx_flag ${cxx_flags}) + # Since 3.17.0 check_cxx_compiler_flag() sets a normal variable at + # parent scope while check_cxx_source_compiles() continues to set an + # internal cache variable, so we unset both to avoid the failure / + # success state persisting between checks. This has been fixed in newer + # CMake releases, but 3.17 is pretty common: we will need this to avoid + # weird build breakages while the fix propagates. + unset(cxx_flag_test_passed) + unset(cxx_flag_test_passed CACHE) + message("--- Testing flag: ${cxx_flag}") + check_cxx_compiler_flag("${cxx_flag}" cxx_flag_test_passed) + + if(cxx_flag_test_passed) + message("--- Passed test for ${cxx_flag}") + else() + list(REMOVE_ITEM cxx_flags ${cxx_flag}) + message("--- Failed test for ${cxx_flag}, flag removed.") + endif() + endforeach() + + set(DRACO_CXX_FLAGS ${cxx_flags}) + endif() + endif() + + if(DRACO_CXX_FLAGS) + list(REMOVE_DUPLICATES DRACO_CXX_FLAGS) + endif() +endmacro() + +# Tests executable linker flags stored in list specified by FLAG_LIST_VAR_NAME, +# adds flags to $DRACO_EXE_LINKER_FLAGS when test passes. Terminates +# configuration when flag check fails. draco_set_cxx_flags() must be called +# before calling this macro because it assumes $DRACO_CXX_FLAGS contains only +# valid CXX flags. +# +# draco_test_exe_linker_flag() +macro(draco_test_exe_linker_flag) + unset(link_FLAG_LIST_VAR_NAME) + unset(optional_args) + unset(multi_value_args) + set(single_value_args FLAG_LIST_VAR_NAME) + cmake_parse_arguments(link "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if(NOT link_FLAG_LIST_VAR_NAME) + draco_die("draco_test_link_flag: FLAG_LIST_VAR_NAME required") + endif() + + draco_set_and_stringify(DEST linker_flags SOURCE_VARS + ${link_FLAG_LIST_VAR_NAME}) + + if(DRACO_VERBOSE) + message("EXE LINKER test: all flags: ${linker_flags}") + endif() + + # Tests of $DRACO_CXX_FLAGS have already passed. Include them with the linker + # test. + draco_set_and_stringify(DEST CMAKE_REQUIRED_FLAGS SOURCE_VARS DRACO_CXX_FLAGS) + + # Cache the global exe linker flags. + if(CMAKE_EXE_LINKER_FLAGS) + set(cached_CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS}) + draco_set_and_stringify(DEST CMAKE_EXE_LINKER_FLAGS SOURCE ${linker_flags}) + endif() + + draco_set_and_stringify(DEST CMAKE_EXE_LINKER_FLAGS SOURCE ${linker_flags} + ${CMAKE_EXE_LINKER_FLAGS}) + + # Turn off output from check_cxx_source_compiles. Print status directly + # instead since the logging messages from check_cxx_source_compiles can be + # quite confusing. + set(CMAKE_REQUIRED_QUIET TRUE) + + message("--- Running EXE LINKER test for flags: ${linker_flags}") + + unset(linker_flag_test_passed CACHE) + set(draco_cxx_main "\nint main() { return 0; }") + check_cxx_source_compiles("${draco_cxx_main}" linker_flag_test_passed) + + if(NOT linker_flag_test_passed) + draco_die("EXE LINKER test failed.") + endif() + + message("--- Passed EXE LINKER flag test.") + + # Restore cached global exe linker flags. + if(cached_CMAKE_EXE_LINKER_FLAGS) + set(CMAKE_EXE_LINKER_FLAGS ${cached_CMAKE_EXE_LINKER_FLAGS}) + else() + unset(CMAKE_EXE_LINKER_FLAGS) + endif() +endmacro() + +# Runs the draco compiler tests. This macro builds up the list of list var(s) +# that is passed to draco_test_cxx_flag(). +# +# Note: draco_set_build_definitions() must be called before this macro. +macro(draco_set_cxx_flags) + unset(cxx_flag_lists) + + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU") + list(APPEND cxx_flag_lists draco_base_cxx_flags) + endif() + + # Append clang flags after the base set to allow -Wno* overrides to take + # effect. Some of the base flags may enable a large set of warnings, e.g., + # -Wall. + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + list(APPEND cxx_flag_lists draco_clang_cxx_flags) + endif() + + if(MSVC) + list(APPEND cxx_flag_lists draco_msvc_cxx_flags) + endif() + + draco_set_and_stringify(DEST cxx_flags SOURCE_VARS ${cxx_flag_lists}) + if(DRACO_VERBOSE) + message("draco_set_cxx_flags: internal CXX flags: ${cxx_flags}") + endif() + + if(DRACO_CXX_FLAGS) + list(APPEND cxx_flag_lists DRACO_CXX_FLAGS) + if(DRACO_VERBOSE) + message("draco_set_cxx_flags: user CXX flags: ${DRACO_CXX_FLAGS}") + endif() + endif() + + draco_set_and_stringify(DEST cxx_flags SOURCE_VARS ${cxx_flag_lists}) + + if(cxx_flags) + draco_test_cxx_flag(FLAG_LIST_VAR_NAMES ${cxx_flag_lists}) + endif() +endmacro() diff --git a/cmake/draco_helpers.cmake b/cmake/draco_helpers.cmake new file mode 100644 index 00000000..0b3b804c --- /dev/null +++ b/cmake/draco_helpers.cmake @@ -0,0 +1,110 @@ +if(DRACO_CMAKE_DRACO_HELPERS_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_HELPERS_CMAKE_ +set(DRACO_CMAKE_DRACO_HELPERS_CMAKE_ 1) + +# Kills build generation using message(FATAL_ERROR) and outputs all data passed +# to the console via use of $ARGN. +macro(draco_die) + message(FATAL_ERROR ${ARGN}) +endmacro() + +# Converts semi-colon delimited list variable(s) to string. Output is written to +# variable supplied via the DEST parameter. Input is from an expanded variable +# referenced by SOURCE and/or variable(s) referenced by SOURCE_VARS. +macro(draco_set_and_stringify) + set(optional_args) + set(single_value_args DEST SOURCE_VAR) + set(multi_value_args SOURCE SOURCE_VARS) + cmake_parse_arguments(sas "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if(NOT sas_DEST OR NOT (sas_SOURCE OR sas_SOURCE_VARS)) + draco_die("draco_set_and_stringify: DEST and at least one of SOURCE " + "SOURCE_VARS required.") + endif() + + unset(${sas_DEST}) + + if(sas_SOURCE) + # $sas_SOURCE is one or more expanded variables, just copy the values to + # $sas_DEST. + set(${sas_DEST} "${sas_SOURCE}") + endif() + + if(sas_SOURCE_VARS) + # $sas_SOURCE_VARS is one or more variable names. Each iteration expands a + # variable and appends it to $sas_DEST. + foreach(source_var ${sas_SOURCE_VARS}) + set(${sas_DEST} "${${sas_DEST}} ${${source_var}}") + endforeach() + + # Because $sas_DEST can be empty when entering this scope leading whitespace + # can be introduced to $sas_DEST on the first iteration of the above loop. + # Remove it: + string(STRIP "${${sas_DEST}}" ${sas_DEST}) + endif() + + # Lists in CMake are simply semicolon delimited strings, so stringification is + # just a find and replace of the semicolon. + string(REPLACE ";" " " ${sas_DEST} "${${sas_DEST}}") + + if(DRACO_VERBOSE GREATER 1) + message("draco_set_and_stringify: ${sas_DEST}=${${sas_DEST}}") + endif() +endmacro() + +# Creates a dummy source file in $DRACO_GENERATED_SOURCES_DIRECTORY and adds it +# to the specified target. Optionally adds its path to a list variable. +# +# draco_create_dummy_source_file( BASENAME > +# [LISTVAR ]) +macro(draco_create_dummy_source_file) + set(optional_args) + set(single_value_args TARGET BASENAME LISTVAR) + set(multi_value_args) + cmake_parse_arguments(cdsf "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if(NOT cdsf_TARGET OR NOT cdsf_BASENAME) + draco_die("draco_create_dummy_source_file: TARGET and BASENAME required.") + endif() + + if(NOT DRACO_GENERATED_SOURCES_DIRECTORY) + set(DRACO_GENERATED_SOURCES_DIRECTORY "${draco_build}/gen_src") + endif() + + set(dummy_source_dir "${DRACO_GENERATED_SOURCES_DIRECTORY}") + set(dummy_source_file + "${dummy_source_dir}/draco_${cdsf_TARGET}_${cdsf_BASENAME}.cc") + set(dummy_source_code + "// Generated file. DO NOT EDIT!\n" + "// C++ source file created for target ${cdsf_TARGET}.\n" + "void draco_${cdsf_TARGET}_${cdsf_BASENAME}_dummy_function(void)\;\n" + "void draco_${cdsf_TARGET}_${cdsf_BASENAME}_dummy_function(void) {}\n") + file(WRITE "${dummy_source_file}" ${dummy_source_code}) + + target_sources(${cdsf_TARGET} PRIVATE ${dummy_source_file}) + + if(cdsf_LISTVAR) + list(APPEND ${cdsf_LISTVAR} "${dummy_source_file}") + endif() +endmacro() + +# Loads the version string from $draco_source/draco/version.h and sets +# $DRACO_VERSION. +macro(draco_load_version_info) + file(STRINGS "${draco_src_root}/core/draco_version.h" version_file_strings) + foreach(str ${version_file_strings}) + if(str MATCHES "char kDracoVersion") + string(FIND "${str}" "\"" open_quote_pos) + string(FIND "${str}" ";" semicolon_pos) + math(EXPR open_quote_pos "${open_quote_pos} + 1") + math(EXPR close_quote_pos "${semicolon_pos} - 1") + math(EXPR version_string_length "${close_quote_pos} - ${open_quote_pos}") + string(SUBSTRING "${str}" ${open_quote_pos} ${version_string_length} + DRACO_VERSION) + break() + endif() + endforeach() +endmacro() diff --git a/cmake/draco_install.cmake b/cmake/draco_install.cmake new file mode 100644 index 00000000..5c63ecb4 --- /dev/null +++ b/cmake/draco_install.cmake @@ -0,0 +1,79 @@ +if(DRACO_CMAKE_DRACO_INSTALL_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_INSTALL_CMAKE_ +set(DRACO_CMAKE_DRACO_INSTALL_CMAKE_ 1) + +# Sets up the draco install targets. Must be called after the static library +# target is created. +macro(draco_setup_install_target) + include(GNUInstallDirs) + + # pkg-config: draco.pc + set(prefix "${CMAKE_INSTALL_PREFIX}") + set(exec_prefix "\${prefix}") + set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}") + set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") + set(draco_lib_name "draco") + + configure_file("${draco_root}/cmake/draco.pc.template" + "${draco_build}/draco.pc" @ONLY NEWLINE_STYLE UNIX) + install(FILES "${draco_build}/draco.pc" + DESTINATION "${prefix}/${CMAKE_INSTALL_LIBDIR}/pkgconfig") + + # CMake config: draco-config.cmake + set(DRACO_INCLUDE_DIRS "${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") + configure_file("${draco_root}/cmake/draco-config.cmake.template" + "${draco_build}/draco-config.cmake" @ONLY NEWLINE_STYLE UNIX) + install( + FILES "${draco_build}/draco-config.cmake" + DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/cmake") + + foreach(file ${draco_sources}) + if(file MATCHES "h$") + list(APPEND draco_api_includes ${file}) + endif() + endforeach() + + # Strip $draco_src_root from the file paths: we need to install relative to + # $include_directory. + list(TRANSFORM draco_api_includes REPLACE "${draco_src_root}/" "") + set(include_directory "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") + + foreach(draco_api_include ${draco_api_includes}) + get_filename_component(file_directory ${draco_api_include} DIRECTORY) + set(target_directory "${include_directory}/draco/${file_directory}") + install(FILES ${draco_src_root}/${draco_api_include} + DESTINATION "${target_directory}") + endforeach() + + install( + FILES "${draco_build}/draco/draco_features.h" + DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/draco/") + + install(TARGETS draco_decoder DESTINATION + "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") + install(TARGETS draco_encoder DESTINATION + "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") + + if(WIN32) + install(TARGETS draco DESTINATION + "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + else() + install(TARGETS draco_static DESTINATION + "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + if(BUILD_SHARED_LIBS) + install(TARGETS draco_shared DESTINATION + "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + endif() + endif() + + if(DRACO_UNITY_PLUGIN) + install(TARGETS dracodec_unity DESTINATION + "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + endif() + if(DRACO_MAYA_PLUGIN) + install(TARGETS draco_maya_wrapper DESTINATION + "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + endif() + +endmacro() diff --git a/cmake/draco_intrinsics.cmake b/cmake/draco_intrinsics.cmake new file mode 100644 index 00000000..9011c0de --- /dev/null +++ b/cmake/draco_intrinsics.cmake @@ -0,0 +1,96 @@ +if(DRACO_CMAKE_DRACO_INTRINSICS_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_INTRINSICS_CMAKE_ +set(DRACO_CMAKE_DRACO_INTRINSICS_CMAKE_ 1) + +# Returns the compiler flag for the SIMD intrinsics suffix specified by the +# SUFFIX argument via the variable specified by the VARIABLE argument: +# draco_get_intrinsics_flag_for_suffix(SUFFIX VARIABLE ) +macro(draco_get_intrinsics_flag_for_suffix) + unset(intrinsics_SUFFIX) + unset(intrinsics_VARIABLE) + unset(optional_args) + unset(multi_value_args) + set(single_value_args SUFFIX VARIABLE) + cmake_parse_arguments(intrinsics "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if(NOT (intrinsics_SUFFIX AND intrinsics_VARIABLE)) + message(FATAL_ERROR "draco_get_intrinsics_flag_for_suffix: SUFFIX and " + "VARIABLE required.") + endif() + + if(intrinsics_SUFFIX MATCHES "neon") + if(NOT MSVC) + set(${intrinsics_VARIABLE} "${DRACO_NEON_INTRINSICS_FLAG}") + endif() + elseif(intrinsics_SUFFIX MATCHES "sse4") + if(NOT MSVC) + set(${intrinsics_VARIABLE} "-msse4.1") + endif() + else() + message(FATAL_ERROR "draco_get_intrinsics_flag_for_suffix: Unknown " + "instrinics suffix: ${intrinsics_SUFFIX}") + endif() + + if(DRACO_VERBOSE GREATER 1) + message("draco_get_intrinsics_flag_for_suffix: " + "suffix:${intrinsics_SUFFIX} flag:${${intrinsics_VARIABLE}}") + endif() +endmacro() + +# Processes source files specified by SOURCES and adds intrinsics flags as +# necessary: draco_process_intrinsics_sources(SOURCES ) +# +# Detects requirement for intrinsics flags using source file name suffix. +# Currently supports only SSE4.1. +macro(draco_process_intrinsics_sources) + unset(arg_TARGET) + unset(arg_SOURCES) + unset(optional_args) + set(single_value_args TARGET) + set(multi_value_args SOURCES) + cmake_parse_arguments(arg "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + if(NOT (arg_TARGET AND arg_SOURCES)) + message(FATAL_ERROR "draco_process_intrinsics_sources: TARGET and " + "SOURCES required.") + endif() + + if(DRACO_ENABLE_SSE4_1 AND draco_have_sse4) + unset(sse4_sources) + list(APPEND sse4_sources ${arg_SOURCES}) + + list(FILTER sse4_sources INCLUDE REGEX + "${draco_sse4_source_file_suffix}$") + + if(sse4_sources) + unset(sse4_flags) + draco_get_intrinsics_flag_for_suffix(SUFFIX + ${draco_sse4_source_file_suffix} + VARIABLE sse4_flags) + if(sse4_flags) + draco_set_compiler_flags_for_sources(SOURCES ${sse4_sources} FLAGS + ${sse4_flags}) + endif() + endif() + endif() + + if(DRACO_ENABLE_NEON AND draco_have_neon) + unset(neon_sources) + list(APPEND neon_sources ${arg_SOURCES}) + list(FILTER neon_sources INCLUDE REGEX + "${draco_neon_source_file_suffix}$") + + if(neon_sources AND DRACO_NEON_INTRINSICS_FLAG) + unset(neon_flags) + draco_get_intrinsics_flag_for_suffix(SUFFIX + ${draco_neon_source_file_suffix} + VARIABLE neon_flags) + if(neon_flags) + draco_set_compiler_flags_for_sources(SOURCES ${neon_sources} FLAGS + ${neon_flags}) + endif() + endif() + endif() +endmacro() diff --git a/cmake/draco_options.cmake b/cmake/draco_options.cmake new file mode 100644 index 00000000..832bfb69 --- /dev/null +++ b/cmake/draco_options.cmake @@ -0,0 +1,239 @@ +if(DRACO_CMAKE_DRACO_OPTIONS_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_OPTIONS_CMAKE_ +set(DRACO_CMAKE_DRACO_OPTIONS_CMAKE_) + +set(draco_features_file_name "${draco_build}/draco/draco_features.h") +set(draco_features_list) + +# Simple wrapper for CMake's builtin option command that tracks draco's build +# options in the list variable $draco_options. +macro(draco_option) + unset(option_NAME) + unset(option_HELPSTRING) + unset(option_VALUE) + unset(optional_args) + unset(multi_value_args) + set(single_value_args NAME HELPSTRING VALUE) + cmake_parse_arguments(option "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if(NOT (option_NAME AND option_HELPSTRING AND DEFINED option_VALUE)) + message(FATAL_ERROR "draco_option: NAME HELPSTRING and VALUE required.") + endif() + + option(${option_NAME} ${option_HELPSTRING} ${option_VALUE}) + + if(DRACO_VERBOSE GREATER 2) + message("--------- draco_option ---------\n" "option_NAME=${option_NAME}\n" + "option_HELPSTRING=${option_HELPSTRING}\n" + "option_VALUE=${option_VALUE}\n" + "------------------------------------------\n") + endif() + + list(APPEND draco_options ${option_NAME}) + list(REMOVE_DUPLICATES draco_options) +endmacro() + +# Dumps the $draco_options list via CMake message command. +macro(draco_dump_options) + foreach(option_name ${draco_options}) + message("${option_name}: ${${option_name}}") + endforeach() +endmacro() + +# Set default options. +macro(draco_set_default_options) + draco_option(NAME DRACO_FAST HELPSTRING "Try to build faster libs." VALUE OFF) + draco_option(NAME DRACO_JS_GLUE HELPSTRING + "Enable JS Glue and JS targets when using Emscripten." VALUE ON) + draco_option(NAME DRACO_IE_COMPATIBLE HELPSTRING + "Enable support for older IE builds when using Emscripten." VALUE + OFF) + draco_option(NAME DRACO_MESH_COMPRESSION HELPSTRING "Enable mesh compression." + VALUE ON) + draco_option(NAME DRACO_POINT_CLOUD_COMPRESSION HELPSTRING + "Enable point cloud compression." VALUE ON) + draco_option(NAME DRACO_PREDICTIVE_EDGEBREAKER HELPSTRING + "Enable predictive edgebreaker." VALUE ON) + draco_option(NAME DRACO_STANDARD_EDGEBREAKER HELPSTRING + "Enable stand edgebreaker." VALUE ON) + draco_option(NAME DRACO_BACKWARDS_COMPATIBILITY HELPSTRING + "Enable backwards compatibility." VALUE ON) + draco_option(NAME DRACO_DECODER_ATTRIBUTE_DEDUPLICATION HELPSTRING + "Enable attribute deduping." VALUE OFF) + draco_option(NAME DRACO_TESTS HELPSTRING "Enables tests." VALUE OFF) + draco_option(NAME DRACO_WASM HELPSTRING "Enables WASM support." VALUE OFF) + draco_option(NAME DRACO_UNITY_PLUGIN HELPSTRING + "Build plugin library for Unity." VALUE OFF) + draco_option(NAME DRACO_ANIMATION_ENCODING HELPSTRING "Enable animation." + VALUE OFF) + draco_option(NAME DRACO_GLTF HELPSTRING "Support GLTF." VALUE OFF) + draco_option(NAME DRACO_MAYA_PLUGIN HELPSTRING + "Build plugin library for Maya." VALUE OFF) + draco_check_deprecated_options() +endmacro() + +# Warns when a deprecated option is used and sets the option that replaced it. +macro(draco_handle_deprecated_option) + unset(option_OLDNAME) + unset(option_NEWNAME) + unset(optional_args) + unset(multi_value_args) + set(single_value_args OLDNAME NEWNAME) + cmake_parse_arguments(option "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if("${${option_OLDNAME}}") + message(WARNING "${option_OLDNAME} is deprecated. Use ${option_NEWNAME}.") + set(${option_NEWNAME} ${${option_OLDNAME}}) + endif() +endmacro() + +# Checks for use of deprecated options. +macro(draco_check_deprecated_options) + draco_handle_deprecated_option(OLDNAME ENABLE_EXTRA_SPEED NEWNAME DRACO_FAST) + draco_handle_deprecated_option(OLDNAME ENABLE_JS_GLUE NEWNAME DRACO_JS_GLUE) + draco_handle_deprecated_option(OLDNAME ENABLE_MESH_COMPRESSION NEWNAME + DRACO_MESH_COMPRESSION) + draco_handle_deprecated_option(OLDNAME ENABLE_POINT_CLOUD_COMPRESSION NEWNAME + DRACO_POINT_CLOUD_COMPRESSION) + draco_handle_deprecated_option(OLDNAME ENABLE_PREDICTIVE_EDGEBREAKER NEWNAME + DRACO_PREDICTIVE_EDGEBREAKER) + draco_handle_deprecated_option(OLDNAME ENABLE_STANDARD_EDGEBREAKER NEWNAME + DRACO_STANDARD_EDGEBREAKER) + draco_handle_deprecated_option(OLDNAME ENABLE_BACKWARDS_COMPATIBILITY NEWNAME + DRACO_BACKWARDS_COMPATIBILITY) + draco_handle_deprecated_option(OLDNAME ENABLE_DECODER_ATTRIBUTE_DEDUPLICATION + NEWNAME DRACO_DECODER_ATTRIBUTE_DEDUPLICATION) + draco_handle_deprecated_option(OLDNAME ENABLE_TESTS NEWNAME DRACO_TESTS) + draco_handle_deprecated_option(OLDNAME ENABLE_WASM NEWNAME DRACO_WASM) + draco_handle_deprecated_option(OLDNAME BUILD_UNITY_PLUGIN NEWNAME + DRACO_UNITY_PLUGIN) + draco_handle_deprecated_option(OLDNAME BUILD_ANIMATION_ENCODING NEWNAME + DRACO_ANIMATION_ENCODING) + draco_handle_deprecated_option(OLDNAME BUILD_FOR_GLTF NEWNAME DRACO_GLTF) + draco_handle_deprecated_option(OLDNAME BUILD_MAYA_PLUGIN NEWNAME + DRACO_MAYA_PLUGIN) + draco_handle_deprecated_option(OLDNAME BUILD_USD_PLUGIN NEWNAME + BUILD_SHARED_LIBS) + +endmacro() + +# Macro for setting Draco features based on user configuration. Features enabled +# by this macro are Draco global. +macro(draco_set_optional_features) + if(DRACO_GLTF) + # Override settings when building for GLTF. + draco_enable_feature(FEATURE "DRACO_MESH_COMPRESSION_SUPPORTED") + draco_enable_feature(FEATURE "DRACO_NORMAL_ENCODING_SUPPORTED") + draco_enable_feature(FEATURE "DRACO_STANDARD_EDGEBREAKER_SUPPORTED") + else() + if(DRACO_POINT_CLOUD_COMPRESSION) + draco_enable_feature(FEATURE "DRACO_POINT_CLOUD_COMPRESSION_SUPPORTED") + endif() + if(DRACO_MESH_COMPRESSION) + draco_enable_feature(FEATURE "DRACO_MESH_COMPRESSION_SUPPORTED") + draco_enable_feature(FEATURE "DRACO_NORMAL_ENCODING_SUPPORTED") + + if(DRACO_STANDARD_EDGEBREAKER) + draco_enable_feature(FEATURE "DRACO_STANDARD_EDGEBREAKER_SUPPORTED") + endif() + if(DRACO_PREDICTIVE_EDGEBREAKER) + draco_enable_feature(FEATURE "DRACO_PREDICTIVE_EDGEBREAKER_SUPPORTED") + endif() + endif() + + if(DRACO_BACKWARDS_COMPATIBILITY) + draco_enable_feature(FEATURE "DRACO_BACKWARDS_COMPATIBILITY_SUPPORTED") + endif() + + + if(NOT EMSCRIPTEN) + # For now, enable deduplication for both encoder and decoder. + # TODO(ostava): Support for disabling attribute deduplication for the C++ + # decoder is planned in future releases. + draco_enable_feature(FEATURE + DRACO_ATTRIBUTE_INDICES_DEDUPLICATION_SUPPORTED) + draco_enable_feature(FEATURE + DRACO_ATTRIBUTE_VALUES_DEDUPLICATION_SUPPORTED) + endif() + endif() + + if(DRACO_UNITY_PLUGIN) + draco_enable_feature(FEATURE "DRACO_UNITY_PLUGIN") + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + endif() + + if(DRACO_MAYA_PLUGIN) + draco_enable_feature(FEATURE "DRACO_MAYA_PLUGIN") + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + endif() + +endmacro() + +# Macro that handles tracking of Draco preprocessor symbols for the purpose of +# producing draco_features.h. +# +# ~~~ +# draco_enable_feature(FEATURE [TARGETS ]) +# ~~~ +# +# FEATURE is required. It should be a Draco preprocessor symbol. TARGETS is +# optional. It can be one or more draco targets. +# +# When the TARGETS argument is not present the preproc symbol is added to +# draco_features.h. When it is draco_features.h is unchanged, and +# target_compile_options() is called for each target specified. +macro(draco_enable_feature) + set(def_flags) + set(def_single_arg_opts FEATURE) + set(def_multi_arg_opts TARGETS) + cmake_parse_arguments(DEF "${def_flags}" "${def_single_arg_opts}" + "${def_multi_arg_opts}" ${ARGN}) + if("${DEF_FEATURE}" STREQUAL "") + message(FATAL_ERROR "Empty FEATURE passed to draco_enable_feature().") + endif() + + # Do nothing/return early if $DEF_FEATURE is already in the list. + list(FIND draco_features_list ${DEF_FEATURE} df_index) + if(NOT df_index EQUAL -1) + return() + endif() + + list(LENGTH DEF_TARGETS df_targets_list_length) + if(${df_targets_list_length} EQUAL 0) + list(APPEND draco_features_list ${DEF_FEATURE}) + else() + foreach(target ${DEF_TARGETS}) + target_compile_definitions(${target} PRIVATE ${DEF_FEATURE}) + endforeach() + endif() +endmacro() + +# Function for generating draco_features.h. +function(draco_generate_features_h) + file(WRITE "${draco_features_file_name}.new" + "// GENERATED FILE -- DO NOT EDIT\n\n" "#ifndef DRACO_FEATURES_H_\n" + "#define DRACO_FEATURES_H_\n\n") + + foreach(feature ${draco_features_list}) + file(APPEND "${draco_features_file_name}.new" "#define ${feature}\n") + endforeach() + + file(APPEND "${draco_features_file_name}.new" + "\n#endif // DRACO_FEATURES_H_") + + # Will replace ${draco_features_file_name} only if the file content has + # changed. This prevents forced Draco rebuilds after CMake runs. + configure_file("${draco_features_file_name}.new" + "${draco_features_file_name}") + file(REMOVE "${draco_features_file_name}.new") +endfunction() + +# Sets default options for the build and processes user controlled options to +# compute enabled features. +macro(draco_setup_options) + draco_set_default_options() + draco_set_optional_features() +endmacro() diff --git a/cmake/draco_sanitizer.cmake b/cmake/draco_sanitizer.cmake new file mode 100644 index 00000000..ca8e2317 --- /dev/null +++ b/cmake/draco_sanitizer.cmake @@ -0,0 +1,32 @@ +if(DRACO_CMAKE_DRACO_SANITIZER_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_SANITIZER_CMAKE_ +set(DRACO_CMAKE_DRACO_SANITIZER_CMAKE_ 1) + +# Handles the details of enabling sanitizers. +macro(draco_configure_sanitizer) + if(DRACO_SANITIZE AND NOT MSVC) + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + if(DRACO_SANITIZE MATCHES "cfi") + list(APPEND DRACO_CXX_FLAGS "-flto" "-fno-sanitize-trap=cfi") + list(APPEND DRACO_EXE_LINKER_FLAGS "-flto" "-fno-sanitize-trap=cfi" + "-fuse-ld=gold") + endif() + + if(${CMAKE_SIZEOF_VOID_P} EQUAL 4 + AND DRACO_SANITIZE MATCHES "integer|undefined") + list(APPEND DRACO_EXE_LINKER_FLAGS "--rtlib=compiler-rt" "-lgcc_s") + endif() + endif() + + list(APPEND DRACO_CXX_FLAGS "-fsanitize=${DRACO_SANITIZE}") + list(APPEND DRACO_EXE_LINKER_FLAGS "-fsanitize=${DRACO_SANITIZE}") + + # Make sanitizer callstacks accurate. + list(APPEND DRACO_CXX_FLAGS "-fno-omit-frame-pointer" + "-fno-optimize-sibling-calls") + + draco_test_cxx_flag(FLAG_LIST_VAR_NAMES DRACO_CXX_FLAGS FLAG_REQUIRED) + draco_test_exe_linker_flag(FLAG_LIST_VAR_NAME DRACO_EXE_LINKER_FLAGS) + endif() +endmacro() diff --git a/cmake/draco_targets.cmake b/cmake/draco_targets.cmake new file mode 100644 index 00000000..ffe1f7de --- /dev/null +++ b/cmake/draco_targets.cmake @@ -0,0 +1,345 @@ +if(DRACO_CMAKE_DRACO_TARGETS_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_TARGETS_CMAKE_ +set(DRACO_CMAKE_DRACO_TARGETS_CMAKE_ 1) + +# Resets list variables used to track draco targets. +macro(draco_reset_target_lists) + unset(draco_targets) + unset(draco_exe_targets) + unset(draco_lib_targets) + unset(draco_objlib_targets) + unset(draco_module_targets) + unset(draco_sources) + unset(draco_test_targets) +endmacro() + +# Creates an executable target. The target name is passed as a parameter to the +# NAME argument, and the sources passed as a parameter to the SOURCES argument: +# draco_add_executable(NAME SOURCES [optional args]) +# +# Optional args: +# cmake-format: off +# - OUTPUT_NAME: Override output file basename. Target basename defaults to +# NAME. +# - TEST: Flag. Presence means treat executable as a test. +# - DEFINES: List of preprocessor macro definitions. +# - INCLUDES: list of include directories for the target. +# - COMPILE_FLAGS: list of compiler flags for the target. +# - LINK_FLAGS: List of linker flags for the target. +# - OBJLIB_DEPS: List of CMake object library target dependencies. +# - LIB_DEPS: List of CMake library dependencies. +# cmake-format: on +# +# Sources passed to this macro are added to $draco_test_sources when TEST is +# specified. Otherwise sources are added to $draco_sources. +# +# Targets passed to this macro are always added to the $draco_targets list. When +# TEST is specified targets are also added to the $draco_test_targets list. +# Otherwise targets are added to $draco_exe_targets. +macro(draco_add_executable) + unset(exe_TEST) + unset(exe_TEST_DEFINES_MAIN) + unset(exe_NAME) + unset(exe_OUTPUT_NAME) + unset(exe_SOURCES) + unset(exe_DEFINES) + unset(exe_INCLUDES) + unset(exe_COMPILE_FLAGS) + unset(exe_LINK_FLAGS) + unset(exe_OBJLIB_DEPS) + unset(exe_LIB_DEPS) + set(optional_args TEST) + set(single_value_args NAME OUTPUT_NAME) + set(multi_value_args SOURCES DEFINES INCLUDES COMPILE_FLAGS LINK_FLAGS + OBJLIB_DEPS LIB_DEPS) + + cmake_parse_arguments(exe "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if(DRACO_VERBOSE GREATER 1) + message("--------- draco_add_executable ---------\n" + "exe_TEST=${exe_TEST}\n" + "exe_TEST_DEFINES_MAIN=${exe_TEST_DEFINES_MAIN}\n" + "exe_NAME=${exe_NAME}\n" + "exe_OUTPUT_NAME=${exe_OUTPUT_NAME}\n" + "exe_SOURCES=${exe_SOURCES}\n" + "exe_DEFINES=${exe_DEFINES}\n" + "exe_INCLUDES=${exe_INCLUDES}\n" + "exe_COMPILE_FLAGS=${exe_COMPILE_FLAGS}\n" + "exe_LINK_FLAGS=${exe_LINK_FLAGS}\n" + "exe_OBJLIB_DEPS=${exe_OBJLIB_DEPS}\n" + "exe_LIB_DEPS=${exe_LIB_DEPS}\n" + "------------------------------------------\n") + endif() + + if(NOT (exe_NAME AND exe_SOURCES)) + message(FATAL_ERROR "draco_add_executable: NAME and SOURCES required.") + endif() + + list(APPEND draco_targets ${exe_NAME}) + if(exe_TEST) + list(APPEND draco_test_targets ${exe_NAME}) + list(APPEND draco_test_sources ${exe_SOURCES}) + else() + list(APPEND draco_exe_targets ${exe_NAME}) + list(APPEND draco_sources ${exe_SOURCES}) + endif() + + add_executable(${exe_NAME} ${exe_SOURCES}) + + if(exe_OUTPUT_NAME) + set_target_properties(${exe_NAME} PROPERTIES OUTPUT_NAME ${exe_OUTPUT_NAME}) + endif() + + draco_process_intrinsics_sources(TARGET ${exe_NAME} SOURCES ${exe_SOURCES}) + + if(exe_DEFINES) + target_compile_definitions(${exe_NAME} PRIVATE ${exe_DEFINES}) + endif() + + if(exe_INCLUDES) + target_include_directories(${exe_NAME} PRIVATE ${exe_INCLUDES}) + endif() + + if(exe_COMPILE_FLAGS OR DRACO_CXX_FLAGS) + target_compile_options(${exe_NAME} + PRIVATE ${exe_COMPILE_FLAGS} ${DRACO_CXX_FLAGS}) + endif() + + if(exe_LINK_FLAGS OR DRACO_EXE_LINKER_FLAGS) + if(${CMAKE_VERSION} VERSION_LESS "3.13") + set(link_flags ${exe_LINK_FLAGS} ${DRACO_EXE_LINKER_FLAGS}) + set_target_properties(${exe_NAME} + PROPERTIES LINK_FLAGS ${exe_LINK_FLAGS} + ${DRACO_EXE_LINKER_FLAGS}) + else() + target_link_options(${exe_NAME} PRIVATE ${exe_LINK_FLAGS} + ${DRACO_EXE_LINKER_FLAGS}) + endif() + endif() + + if(exe_OBJLIB_DEPS) + foreach(objlib_dep ${exe_OBJLIB_DEPS}) + target_sources(${exe_NAME} PRIVATE $) + endforeach() + endif() + + if(CMAKE_THREAD_LIBS_INIT) + list(APPEND exe_LIB_DEPS ${CMAKE_THREAD_LIBS_INIT}) + endif() + + if(BUILD_SHARED_LIBS AND (MSVC OR WIN32)) + target_compile_definitions(${lib_NAME} PRIVATE "DRACO_BUILDING_DLL=0") + endif() + + if(exe_LIB_DEPS) + unset(exe_static) + if("${CMAKE_EXE_LINKER_FLAGS} ${DRACO_EXE_LINKER_FLAGS}" MATCHES "static") + set(exe_static ON) + endif() + + if(exe_static AND CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU") + # Third party dependencies can introduce dependencies on system and test + # libraries. Since the target created here is an executable, and CMake + # does not provide a method of controlling order of link dependencies, + # wrap all of the dependencies of this target in start/end group flags to + # ensure that dependencies of third party targets can be resolved when + # those dependencies happen to be resolved by dependencies of the current + # target. + list(INSERT exe_LIB_DEPS 0 -Wl,--start-group) + list(APPEND exe_LIB_DEPS -Wl,--end-group) + endif() + target_link_libraries(${exe_NAME} PRIVATE ${exe_LIB_DEPS}) + endif() +endmacro() + +# Creates a library target of the specified type. The target name is passed as a +# parameter to the NAME argument, the type as a parameter to the TYPE argument, +# and the sources passed as a parameter to the SOURCES argument: +# draco_add_library(NAME TYPE SOURCES [optional args]) +# +# Optional args: +# cmake-format: off +# - OUTPUT_NAME: Override output file basename. Target basename defaults to +# NAME. OUTPUT_NAME is ignored when BUILD_SHARED_LIBS is enabled and CMake +# is generating a build for which MSVC or WIN32 are true. This is to avoid +# output basename collisions with DLL import libraries. +# - TEST: Flag. Presence means treat library as a test. +# - DEFINES: List of preprocessor macro definitions. +# - INCLUDES: list of include directories for the target. +# - COMPILE_FLAGS: list of compiler flags for the target. +# - LINK_FLAGS: List of linker flags for the target. +# - OBJLIB_DEPS: List of CMake object library target dependencies. +# - LIB_DEPS: List of CMake library dependencies. +# - PUBLIC_INCLUDES: List of include paths to export to dependents. +# cmake-format: on +# +# Sources passed to the macro are added to the lists tracking draco sources: +# cmake-format: off +# - When TEST is specified sources are added to $draco_test_sources. +# - Otherwise sources are added to $draco_sources. +# cmake-format: on +# +# Targets passed to this macro are added to the lists tracking draco targets: +# cmake-format: off +# - Targets are always added to $draco_targets. +# - When the TEST flag is specified, targets are added to +# $draco_test_targets. +# - When TEST is not specified: +# - Libraries of type SHARED are added to $draco_dylib_targets. +# - Libraries of type OBJECT are added to $draco_objlib_targets. +# - Libraries of type STATIC are added to $draco_lib_targets. +# cmake-format: on +macro(draco_add_library) + unset(lib_TEST) + unset(lib_NAME) + unset(lib_OUTPUT_NAME) + unset(lib_TYPE) + unset(lib_SOURCES) + unset(lib_DEFINES) + unset(lib_INCLUDES) + unset(lib_COMPILE_FLAGS) + unset(lib_LINK_FLAGS) + unset(lib_OBJLIB_DEPS) + unset(lib_LIB_DEPS) + unset(lib_PUBLIC_INCLUDES) + unset(lib_TARGET_PROPERTIES) + set(optional_args TEST) + set(single_value_args NAME OUTPUT_NAME TYPE) + set(multi_value_args SOURCES DEFINES INCLUDES COMPILE_FLAGS LINK_FLAGS + OBJLIB_DEPS LIB_DEPS PUBLIC_INCLUDES TARGET_PROPERTIES) + + cmake_parse_arguments(lib "${optional_args}" "${single_value_args}" + "${multi_value_args}" ${ARGN}) + + if(DRACO_VERBOSE GREATER 1) + message("--------- draco_add_library ---------\n" + "lib_TEST=${lib_TEST}\n" + "lib_NAME=${lib_NAME}\n" + "lib_OUTPUT_NAME=${lib_OUTPUT_NAME}\n" + "lib_TYPE=${lib_TYPE}\n" + "lib_SOURCES=${lib_SOURCES}\n" + "lib_DEFINES=${lib_DEFINES}\n" + "lib_INCLUDES=${lib_INCLUDES}\n" + "lib_COMPILE_FLAGS=${lib_COMPILE_FLAGS}\n" + "lib_LINK_FLAGS=${lib_LINK_FLAGS}\n" + "lib_OBJLIB_DEPS=${lib_OBJLIB_DEPS}\n" + "lib_LIB_DEPS=${lib_LIB_DEPS}\n" + "lib_PUBLIC_INCLUDES=${lib_PUBLIC_INCLUDES}\n" + "---------------------------------------\n") + endif() + + if(NOT (lib_NAME AND lib_TYPE)) + message(FATAL_ERROR "draco_add_library: NAME and TYPE required.") + endif() + + list(APPEND draco_targets ${lib_NAME}) + if(lib_TEST) + list(APPEND draco_test_targets ${lib_NAME}) + list(APPEND draco_test_sources ${lib_SOURCES}) + else() + list(APPEND draco_sources ${lib_SOURCES}) + if(lib_TYPE STREQUAL MODULE) + list(APPEND draco_module_targets ${lib_NAME}) + elseif(lib_TYPE STREQUAL OBJECT) + list(APPEND draco_objlib_targets ${lib_NAME}) + elseif(lib_TYPE STREQUAL SHARED) + list(APPEND draco_dylib_targets ${lib_NAME}) + elseif(lib_TYPE STREQUAL STATIC) + list(APPEND draco_lib_targets ${lib_NAME}) + else() + message(WARNING "draco_add_library: Unhandled type: ${lib_TYPE}") + endif() + endif() + + add_library(${lib_NAME} ${lib_TYPE} ${lib_SOURCES}) + if(lib_SOURCES) + draco_process_intrinsics_sources(TARGET ${lib_NAME} SOURCES ${lib_SOURCES}) + endif() + + if(lib_OUTPUT_NAME) + if(NOT (BUILD_SHARED_LIBS AND (MSVC OR WIN32))) + set_target_properties(${lib_NAME} + PROPERTIES OUTPUT_NAME ${lib_OUTPUT_NAME}) + endif() + endif() + + if(lib_DEFINES) + target_compile_definitions(${lib_NAME} PRIVATE ${lib_DEFINES}) + endif() + + if(lib_INCLUDES) + target_include_directories(${lib_NAME} PRIVATE ${lib_INCLUDES}) + endif() + + if(lib_PUBLIC_INCLUDES) + target_include_directories(${lib_NAME} PUBLIC ${lib_PUBLIC_INCLUDES}) + endif() + + if(lib_COMPILE_FLAGS OR DRACO_CXX_FLAGS) + target_compile_options(${lib_NAME} + PRIVATE ${lib_COMPILE_FLAGS} ${DRACO_CXX_FLAGS}) + endif() + + if(lib_LINK_FLAGS) + set_target_properties(${lib_NAME} PROPERTIES LINK_FLAGS ${lib_LINK_FLAGS}) + endif() + + if(lib_OBJLIB_DEPS) + foreach(objlib_dep ${lib_OBJLIB_DEPS}) + target_sources(${lib_NAME} PRIVATE $) + endforeach() + endif() + + if(lib_LIB_DEPS) + if(lib_TYPE STREQUAL STATIC) + set(link_type PUBLIC) + else() + set(link_type PRIVATE) + if(lib_TYPE STREQUAL SHARED AND CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU") + # The draco shared object uses the static draco as input to turn it into + # a shared object. Include everything from the static library in the + # shared object. + if(APPLE) + list(INSERT lib_LIB_DEPS 0 -Wl,-force_load) + else() + list(INSERT lib_LIB_DEPS 0 -Wl,--whole-archive) + list(APPEND lib_LIB_DEPS -Wl,--no-whole-archive) + endif() + endif() + endif() + target_link_libraries(${lib_NAME} ${link_type} ${lib_LIB_DEPS}) + endif() + + if(NOT MSVC AND lib_NAME MATCHES "^lib") + # Non-MSVC generators prepend lib to static lib target file names. Libdraco + # already includes lib in its name. Avoid naming output files liblib*. + set_target_properties(${lib_NAME} PROPERTIES PREFIX "") + endif() + + if(lib_TYPE STREQUAL SHARED AND NOT MSVC) + set_target_properties(${lib_NAME} PROPERTIES SOVERSION ${DRACO_SOVERSION}) + endif() + + if(BUILD_SHARED_LIBS AND (MSVC OR WIN32)) + if(lib_TYPE STREQUAL SHARED) + target_compile_definitions(${lib_NAME} PRIVATE "DRACO_BUILDING_DLL=1") + else() + target_compile_definitions(${lib_NAME} PRIVATE "DRACO_BUILDING_DLL=0") + endif() + endif() + + # Determine if $lib_NAME is a header only target. + set(sources_list ${lib_SOURCES}) + list(FILTER sources_list INCLUDE REGEX cc$) + if(NOT sources_list) + if(NOT XCODE) + # This is a header only target. Tell CMake the link language. + set_target_properties(${lib_NAME} PROPERTIES LINKER_LANGUAGE CXX) + else() + # The Xcode generator ignores LINKER_LANGUAGE. Add a dummy cc file. + draco_create_dummy_source_file(TARGET ${lib_NAME} BASENAME ${lib_NAME}) + endif() + endif() +endmacro() diff --git a/cmake/draco_tests.cmake b/cmake/draco_tests.cmake index 1322aca1..a6dfc5b5 100644 --- a/cmake/draco_tests.cmake +++ b/cmake/draco_tests.cmake @@ -10,88 +10,124 @@ set(draco_factory_test_sources "${draco_src_root}/io/file_reader_factory_test.cc" "${draco_src_root}/io/file_writer_factory_test.cc") -set( - draco_test_sources - "${draco_src_root}/animation/keyframe_animation_encoding_test.cc" - "${draco_src_root}/animation/keyframe_animation_test.cc" - "${draco_src_root}/attributes/point_attribute_test.cc" - "${draco_src_root}/compression/attributes/point_d_vector_test.cc" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_transform_test.cc" - "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_transform_test.cc" - "${draco_src_root}/compression/attributes/sequential_integer_attribute_encoding_test.cc" - "${draco_src_root}/compression/bit_coders/rans_coding_test.cc" - "${draco_src_root}/compression/decode_test.cc" - "${draco_src_root}/compression/encode_test.cc" - "${draco_src_root}/compression/entropy/shannon_entropy_test.cc" - "${draco_src_root}/compression/entropy/symbol_coding_test.cc" - "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoding_test.cc" - "${draco_src_root}/compression/mesh/mesh_encoder_test.cc" - "${draco_src_root}/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc" - "${draco_src_root}/compression/point_cloud/point_cloud_sequential_encoding_test.cc" - "${draco_src_root}/core/buffer_bit_coding_test.cc" - "${draco_src_root}/core/draco_test_base.h" - "${draco_src_root}/core/draco_test_utils.cc" - "${draco_src_root}/core/draco_test_utils.h" - "${draco_src_root}/core/math_utils_test.cc" - "${draco_src_root}/core/quantization_utils_test.cc" - "${draco_src_root}/core/status_test.cc" - "${draco_src_root}/core/vector_d_test.cc" - "${draco_src_root}/io/file_reader_test_common.h" - "${draco_src_root}/io/file_utils_test.cc" - "${draco_src_root}/io/stdio_file_reader_test.cc" - "${draco_src_root}/io/stdio_file_writer_test.cc" - "${draco_src_root}/io/obj_decoder_test.cc" - "${draco_src_root}/io/obj_encoder_test.cc" - "${draco_src_root}/io/ply_decoder_test.cc" - "${draco_src_root}/io/ply_reader_test.cc" - "${draco_src_root}/io/point_cloud_io_test.cc" - "${draco_src_root}/mesh/mesh_are_equivalent_test.cc" - "${draco_src_root}/mesh/mesh_cleanup_test.cc" - "${draco_src_root}/mesh/triangle_soup_mesh_builder_test.cc" - "${draco_src_root}/metadata/metadata_encoder_test.cc" - "${draco_src_root}/metadata/metadata_test.cc" - "${draco_src_root}/point_cloud/point_cloud_builder_test.cc" - "${draco_src_root}/point_cloud/point_cloud_test.cc") +list( + APPEND + draco_test_sources + "${draco_src_root}/animation/keyframe_animation_encoding_test.cc" + "${draco_src_root}/animation/keyframe_animation_test.cc" + "${draco_src_root}/attributes/point_attribute_test.cc" + "${draco_src_root}/compression/attributes/point_d_vector_test.cc" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_transform_test.cc" + "${draco_src_root}/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_transform_test.cc" + "${draco_src_root}/compression/attributes/sequential_integer_attribute_encoding_test.cc" + "${draco_src_root}/compression/bit_coders/rans_coding_test.cc" + "${draco_src_root}/compression/decode_test.cc" + "${draco_src_root}/compression/encode_test.cc" + "${draco_src_root}/compression/entropy/shannon_entropy_test.cc" + "${draco_src_root}/compression/entropy/symbol_coding_test.cc" + "${draco_src_root}/compression/mesh/mesh_edgebreaker_encoding_test.cc" + "${draco_src_root}/compression/mesh/mesh_encoder_test.cc" + "${draco_src_root}/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc" + "${draco_src_root}/compression/point_cloud/point_cloud_sequential_encoding_test.cc" + "${draco_src_root}/core/buffer_bit_coding_test.cc" + "${draco_src_root}/core/draco_test_base.h" + "${draco_src_root}/core/draco_test_utils.cc" + "${draco_src_root}/core/draco_test_utils.h" + "${draco_src_root}/core/math_utils_test.cc" + "${draco_src_root}/core/quantization_utils_test.cc" + "${draco_src_root}/core/status_test.cc" + "${draco_src_root}/core/vector_d_test.cc" + "${draco_src_root}/io/file_reader_test_common.h" + "${draco_src_root}/io/file_utils_test.cc" + "${draco_src_root}/io/stdio_file_reader_test.cc" + "${draco_src_root}/io/stdio_file_writer_test.cc" + "${draco_src_root}/io/obj_decoder_test.cc" + "${draco_src_root}/io/obj_encoder_test.cc" + "${draco_src_root}/io/ply_decoder_test.cc" + "${draco_src_root}/io/ply_reader_test.cc" + "${draco_src_root}/io/point_cloud_io_test.cc" + "${draco_src_root}/mesh/mesh_are_equivalent_test.cc" + "${draco_src_root}/mesh/mesh_cleanup_test.cc" + "${draco_src_root}/mesh/triangle_soup_mesh_builder_test.cc" + "${draco_src_root}/metadata/metadata_encoder_test.cc" + "${draco_src_root}/metadata/metadata_test.cc" + "${draco_src_root}/point_cloud/point_cloud_builder_test.cc" + "${draco_src_root}/point_cloud/point_cloud_test.cc") + +list(APPEND draco_gtest_all + "${draco_root}/../googletest/googletest/src/gtest-all.cc") +list(APPEND draco_gtest_main + "${draco_root}/../googletest/googletest/src/gtest_main.cc") macro(draco_setup_test_targets) - if(ENABLE_TESTS) - # Googletest defaults. - set(GTEST_SOURCE_DIR - "${draco_root}/../googletest" - CACHE STRING "Path to googletest source directory") + if(DRACO_TESTS) + if(NOT (EXISTS ${draco_gtest_all} AND EXISTS ${draco_gtest_main})) + message(FATAL "googletest must be a sibling directory of ${draco_root}.") + endif() - set(gtest_all "${GTEST_SOURCE_DIR}/googletest/src/gtest-all.cc") - set(gtest_main "${GTEST_SOURCE_DIR}/googletest/src/gtest_main.cc") - set(draco_gtest_sources "${gtest_all}" "${gtest_main}") + list(APPEND draco_test_defines GTEST_HAS_PTHREAD=0) - # Confirm Googletest is where expected. - if(EXISTS "${gtest_all}" AND EXISTS "${gtest_main}") - set(DRACO_TEST_DATA_DIR "${draco_root}/testdata") - if(NOT DRACO_TEST_TEMP_DIR) - set(DRACO_TEST_TEMP_DIR "${draco_build_dir}/draco_test_temp") - file(MAKE_DIRECTORY "${DRACO_TEST_TEMP_DIR}") - endif() + draco_add_library(TEST + NAME + draco_gtest + TYPE + STATIC + SOURCES + ${draco_gtest_all} + DEFINES + ${draco_defines} + ${draco_test_defines} + INCLUDES + ${draco_test_include_paths}) - # Sets DRACO_TEST_DATA_DIR and DRACO_TEST_TEMP_DIR. - configure_file("${draco_root}/cmake/draco_test_config.h.cmake" - "${draco_build_dir}/testing/draco_test_config.h") + draco_add_library(TEST + NAME + draco_gtest_main + TYPE + STATIC + SOURCES + ${draco_gtest_main} + DEFINES + ${draco_defines} + ${draco_test_defines} + INCLUDES + ${draco_test_include_paths}) - # Create Googletest target and update configuration. - add_library(draco_gtest STATIC ${draco_gtest_sources}) - target_compile_definitions(draco_gtest PUBLIC GTEST_HAS_PTHREAD=0) - include_directories("${GTEST_SOURCE_DIR}/googlemock/include" - "${GTEST_SOURCE_DIR}/googletest/include" - "${GTEST_SOURCE_DIR}/googletest") + set(DRACO_TEST_DATA_DIR "${draco_root}/testdata") + set(DRACO_TEST_TEMP_DIR "${draco_build}/draco_test_temp") + file(MAKE_DIRECTORY "${DRACO_TEST_TEMP_DIR}") - # Create the test targets. - add_executable(draco_tests ${draco_test_sources}) - target_link_libraries(draco_tests draco draco_gtest) - add_executable(draco_factory_tests ${draco_factory_test_sources}) - target_link_libraries(draco_factory_tests draco draco_gtest) - else() - set(ENABLE_TESTS OFF) - message("Tests disabled: Google test sources not found in " - "${GTEST_SOURCE_DIR}.") - endif() + # Sets DRACO_TEST_DATA_DIR and DRACO_TEST_TEMP_DIR. + configure_file("${draco_root}/cmake/draco_test_config.h.cmake" + "${draco_build}/testing/draco_test_config.h") + + # Create the test targets. + draco_add_executable(NAME + draco_tests + SOURCES + ${draco_test_sources} + DEFINES + ${draco_defines} + ${draco_test_defines} + INCLUDES + ${draco_test_include_paths} + LIB_DEPS + draco_static + draco_gtest + draco_gtest_main) + + draco_add_executable(NAME + draco_factory_tests + SOURCES + ${draco_factory_test_sources} + DEFINES + ${draco_defines} + ${draco_test_defines} + INCLUDES + ${draco_test_include_paths} + LIB_DEPS + draco_static + draco_gtest + draco_gtest_main) endif() endmacro() diff --git a/cmake/draco_variables.cmake b/cmake/draco_variables.cmake new file mode 100644 index 00000000..8dbc77a5 --- /dev/null +++ b/cmake/draco_variables.cmake @@ -0,0 +1,64 @@ +if(DRACO_CMAKE_DRACO_VARIABLES_CMAKE_) + return() +endif() # DRACO_CMAKE_DRACO_VARIABLES_CMAKE_ +set(DRACO_CMAKE_DRACO_VARIABLES_CMAKE_ 1) + +# Halts generation when $variable_name does not refer to a directory that +# exists. +macro(draco_variable_must_be_directory variable_name) + if("${variable_name}" STREQUAL "") + message( + FATAL_ERROR + "Empty variable_name passed to draco_variable_must_be_directory.") + endif() + + if("${${variable_name}}" STREQUAL "") + message( + FATAL_ERROR + "Empty variable ${variable_name} is required to build draco.") + endif() + + if(NOT IS_DIRECTORY "${${variable_name}}") + message( + FATAL_ERROR + "${variable_name}, which is ${${variable_name}}, does not refer to a\n" + "directory.") + endif() +endmacro() + +# Adds $var_name to the tracked variables list. +macro(draco_track_configuration_variable var_name) + if(DRACO_VERBOSE GREATER 2) + message("---- draco_track_configuration_variable ----\n" + "var_name=${var_name}\n" + "----------------------------------------------\n") + endif() + + list(APPEND draco_configuration_variables ${var_name}) + list(REMOVE_DUPLICATES draco_configuration_variables) +endmacro() + +# Logs current C++ and executable linker flags via the CMake message command. +macro(draco_dump_cmake_flag_variables) + unset(flag_variables) + list(APPEND flag_variables "CMAKE_CXX_FLAGS_INIT" "CMAKE_CXX_FLAGS" + "CMAKE_EXE_LINKER_FLAGS_INIT" "CMAKE_EXE_LINKER_FLAGS") + if(CMAKE_BUILD_TYPE) + list(APPEND flag_variables "CMAKE_BUILD_TYPE" + "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}_INIT" + "CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}" + "CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE}_INIT" + "CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE}") + endif() + foreach(flag_variable ${flag_variables}) + message("${flag_variable}:${${flag_variable}}") + endforeach() +endmacro() + +# Dumps the variables tracked in $draco_configuration_variables via the CMake +# message command. +macro(draco_dump_tracked_configuration_variables) + foreach(config_variable ${draco_configuration_variables}) + message("${config_variable}:${${config_variable}}") + endforeach() +endmacro() diff --git a/cmake/toolchains/aarch64-linux-gnu.cmake b/cmake/toolchains/aarch64-linux-gnu.cmake new file mode 100644 index 00000000..87e0b4a4 --- /dev/null +++ b/cmake/toolchains/aarch64-linux-gnu.cmake @@ -0,0 +1,14 @@ +if(DRACO_CMAKE_TOOLCHAINS_AARCH64_LINUX_GNU_CMAKE_) + return() +endif() # DRACO_CMAKE_TOOLCHAINS_AARCH64_LINUX_GNU_CMAKE_ +set(DRACO_CMAKE_TOOLCHAINS_AARCH64_LINUX_GNU_CMAKE_ 1) + +set(CMAKE_SYSTEM_NAME "Linux") + +if("${CROSS}" STREQUAL "") + set(CROSS aarch64-linux-gnu-) +endif() + +set(CMAKE_CXX_COMPILER ${CROSS}g++) +set(CMAKE_CXX_FLAGS_INIT "-march=armv8-a") +set(CMAKE_SYSTEM_PROCESSOR "aarch64") diff --git a/cmake/toolchains/android-ndk-common.cmake b/cmake/toolchains/android-ndk-common.cmake index 58b27a64..5126d6e2 100644 --- a/cmake/toolchains/android-ndk-common.cmake +++ b/cmake/toolchains/android-ndk-common.cmake @@ -3,9 +3,21 @@ if(DRACO_CMAKE_TOOLCHAINS_ANDROID_NDK_COMMON_CMAKE_) endif() set(DRACO_CMAKE_TOOLCHAINS_ANDROID_NDK_COMMON_CMAKE_ 1) -include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake") +# Toolchain files do not have access to cached variables: +# https://gitlab.kitware.com/cmake/cmake/issues/16170. Set an intermediate +# environment variable when loaded the first time. +if(DRACO_ANDROID_NDK_PATH) + set(ENV{DRACO_ANDROID_NDK_PATH} "${DRACO_ANDROID_NDK_PATH}") +else() + set(DRACO_ANDROID_NDK_PATH "$ENV{DRACO_ANDROID_NDK_PATH}") +endif() -require_variable(CMAKE_ANDROID_NDK) set(CMAKE_SYSTEM_NAME Android) -set_variable_if_unset(CMAKE_ANDROID_STL_TYPE c++_static) -set_variable_if_unset(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang) + +if(NOT CMAKE_ANDROID_STL_TYPE) + set(CMAKE_ANDROID_STL_TYPE c++_static) +endif() + +if(NOT CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION) + set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang) +endif() diff --git a/cmake/toolchains/android.cmake b/cmake/toolchains/android.cmake new file mode 100644 index 00000000..b8f576d5 --- /dev/null +++ b/cmake/toolchains/android.cmake @@ -0,0 +1,39 @@ +if(DRACO_CMAKE_TOOLCHAINS_ANDROID_CMAKE_) + return() +endif() # DRACO_CMAKE_TOOLCHAINS_ANDROID_CMAKE_ + +# Additional ANDROID_* settings are available, see: +# https://developer.android.com/ndk/guides/cmake#variables + +if(NOT ANDROID_PLATFORM) + set(ANDROID_PLATFORM android-21) +endif() + +# Choose target architecture with: +# +# -DANDROID_ABI={armeabi-v7a,armeabi-v7a with NEON,arm64-v8a,x86,x86_64} +if(NOT ANDROID_ABI) + set(ANDROID_ABI arm64-v8a) +endif() + +# Force arm mode for 32-bit targets (instead of the default thumb) to improve +# performance. +if(NOT ANDROID_ARM_MODE) + set(ANDROID_ARM_MODE arm) +endif() + +# Toolchain files do not have access to cached variables: +# https://gitlab.kitware.com/cmake/cmake/issues/16170. Set an intermediate +# environment variable when loaded the first time. +if(DRACO_ANDROID_NDK_PATH) + set(ENV{DRACO_ANDROID_NDK_PATH} "${DRACO_ANDROID_NDK_PATH}") +else() + set(DRACO_ANDROID_NDK_PATH "$ENV{DRACO_ANDROID_NDK_PATH}") +endif() + +if(NOT DRACO_ANDROID_NDK_PATH) + message(FATAL_ERROR "DRACO_ANDROID_NDK_PATH not set.") + return() +endif() + +include("${DRACO_ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake") diff --git a/cmake/toolchains/arm-linux-gnueabihf.cmake b/cmake/toolchains/arm-linux-gnueabihf.cmake new file mode 100644 index 00000000..6e45969e --- /dev/null +++ b/cmake/toolchains/arm-linux-gnueabihf.cmake @@ -0,0 +1,15 @@ +if(DRACO_CMAKE_TOOLCHAINS_ARM_LINUX_GNUEABIHF_CMAKE_) + return() +endif() # DRACO_CMAKE_TOOLCHAINS_ARM_LINUX_GNUEABIHF_CMAKE_ +set(DRACO_CMAKE_TOOLCHAINS_ARM_LINUX_GNUEABIHF_CMAKE_ 1) + +set(CMAKE_SYSTEM_NAME "Linux") + +if("${CROSS}" STREQUAL "") + set(CROSS arm-linux-gnueabihf-) +endif() + +set(CMAKE_CXX_COMPILER ${CROSS}g++) +set(CMAKE_CXX_FLAGS_INIT "-march=armv7-a -marm") +set(CMAKE_SYSTEM_PROCESSOR "armv7") +set(DRACO_NEON_INTRINSICS_FLAG "-mfpu=neon") diff --git a/cmake/toolchains/arm64-android-ndk-libcpp.cmake b/cmake/toolchains/arm64-android-ndk-libcpp.cmake index 13232387..4b6d366f 100644 --- a/cmake/toolchains/arm64-android-ndk-libcpp.cmake +++ b/cmake/toolchains/arm64-android-ndk-libcpp.cmake @@ -3,10 +3,14 @@ if(DRACO_CMAKE_TOOLCHAINS_ARM64_ANDROID_NDK_LIBCPP_CMAKE_) endif() set(DRACO_CMAKE_TOOLCHAINS_ARM64_ANDROID_NDK_LIBCPP_CMAKE_ 1) -include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake") include("${CMAKE_CURRENT_LIST_DIR}/android-ndk-common.cmake") -set_variable_if_unset(ANDROID_PLATFORM android-21) -set_variable_if_unset(ANDROID_ABI arm64-v8a) +if(NOT ANDROID_PLATFORM) + set(ANROID_PLATFORM android-21) +endif() + +if(NOT ANDROID_ABI) + set(ANDROID_ABI arm64-v8a) +endif() -include("${CMAKE_ANDROID_NDK}/build/cmake/android.toolchain.cmake") \ No newline at end of file +include("${DRACO_ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake") diff --git a/cmake/toolchains/armv7-android-ndk-libcpp.cmake b/cmake/toolchains/armv7-android-ndk-libcpp.cmake index 04f8a45f..80ee98b1 100644 --- a/cmake/toolchains/armv7-android-ndk-libcpp.cmake +++ b/cmake/toolchains/armv7-android-ndk-libcpp.cmake @@ -3,10 +3,14 @@ if(DRACO_CMAKE_TOOLCHAINS_ARMV7_ANDROID_NDK_LIBCPP_CMAKE_) endif() set(DRACO_CMAKE_TOOLCHAINS_ARMV7_ANDROID_NDK_LIBCPP_CMAKE_ 1) -include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake") include("${CMAKE_CURRENT_LIST_DIR}/android-ndk-common.cmake") -set_variable_if_unset(ANDROID_PLATFORM android-18) -set_variable_if_unset(ANDROID_ABI armeabi-v7a) +if(NOT ANDROID_PLATFORM) + set(ANDROID_PLATFORM android-18) +endif() + +if(NOT ANDROID_ABI) + set(ANDROID_ABI armeabi-v7a) +endif() -include("${CMAKE_ANDROID_NDK}/build/cmake/android.toolchain.cmake") +include("${DRACO_ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake") diff --git a/cmake/toolchains/x86-android-ndk-libcpp.cmake b/cmake/toolchains/x86-android-ndk-libcpp.cmake index 6771174a..d4338364 100644 --- a/cmake/toolchains/x86-android-ndk-libcpp.cmake +++ b/cmake/toolchains/x86-android-ndk-libcpp.cmake @@ -3,10 +3,14 @@ if(DRACO_CMAKE_TOOLCHAINS_X86_ANDROID_NDK_LIBCPP_CMAKE_) endif() set(DRACO_CMAKE_TOOLCHAINS_X86_ANDROID_NDK_LIBCPP_CMAKE_ 1) -include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake") include("${CMAKE_CURRENT_LIST_DIR}/android-ndk-common.cmake") -set_variable_if_unset(ANDROID_PLATFORM android-18) -set_variable_if_unset(ANDROID_ABI x86) +if(NOT ANDROID_PLATFORM) + set(ANDROID_PLATFORM android-18) +endif() + +if(NOT ANDROID_ABI) + set(ANDROID_ABI x86) +endif() -include("${CMAKE_ANDROID_NDK}/build/cmake/android.toolchain.cmake") +include("${DRACO_ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake") diff --git a/cmake/toolchains/x86_64-android-ndk-libcpp.cmake b/cmake/toolchains/x86_64-android-ndk-libcpp.cmake index 52cc1f1a..d6fabeac 100644 --- a/cmake/toolchains/x86_64-android-ndk-libcpp.cmake +++ b/cmake/toolchains/x86_64-android-ndk-libcpp.cmake @@ -3,10 +3,14 @@ if(DRACO_CMAKE_TOOLCHAINS_X86_64_ANDROID_NDK_LIBCPP_CMAKE_) endif() set(DRACO_CMAKE_TOOLCHAINS_X86_64_ANDROID_NDK_LIBCPP_CMAKE_ 1) -include("${CMAKE_CURRENT_LIST_DIR}/../util.cmake") include("${CMAKE_CURRENT_LIST_DIR}/android-ndk-common.cmake") -set_variable_if_unset(ANDROID_PLATFORM android-21) -set_variable_if_unset(ANDROID_ABI x86_64) +if(NOT ANDROID_PLATFORM) + set(ANDROID_PLATFORM android-21) +endif() + +if(NOT ANDROID_ABI) + set(ANDROID_ABI x86_64) +endif() -include("${CMAKE_ANDROID_NDK}/build/cmake/android.toolchain.cmake") \ No newline at end of file +include("${DRACO_ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake") diff --git a/docs/_config.yml b/docs/_config.yml index d053ca03..e9d2aed1 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -16,8 +16,8 @@ title: Draco 3D Data Compression email: webmaster@webmproject.org -description: > - Description here +description: > + Draco 3D Data Compression baseurl: "/draco" url: "" # the base hostname & protocol for your site, e.g. http://example.com twitter_username: webm diff --git a/docs/_layouts/home.html b/docs/_layouts/home.html index 662d5605..9510aec0 100644 --- a/docs/_layouts/home.html +++ b/docs/_layouts/home.html @@ -86,7 +86,7 @@
- +

Draco is an open-source library for compressing and decompressing 3D @@ -164,4 +164,4 @@

YouTube: Draco Announced on Google Developer Show

{% include analytics.html%} - \ No newline at end of file + diff --git a/docs/assets/js/ASCIIMathML.js b/docs/assets/js/ASCIIMathML.js index 727111c3..36dc6617 100644 --- a/docs/assets/js/ASCIIMathML.js +++ b/docs/assets/js/ASCIIMathML.js @@ -2,7 +2,7 @@ ASCIIMathML.js ============== This file contains JavaScript functions to convert ASCII math notation -and (some) LaTeX to Presentation MathML. The conversion is done while the +and (some) LaTeX to Presentation MathML. The conversion is done while the HTML page loads, and should work with Firefox and other browsers that can render MathML. @@ -36,158 +36,174 @@ THE SOFTWARE. */ var asciimath = {}; -(function(){ -var mathcolor = "blue"; // change it to "" (to inherit) or another color -var mathfontsize = "1em"; // change to e.g. 1.2em for larger math -var mathfontfamily = "serif"; // change to "" to inherit (works in IE) - // or another family (e.g. "arial") -var automathrecognize = false; // writing "amath" on page makes this true -var checkForMathML = true; // check if browser can display MathML -var notifyIfNoMathML = true; // display note at top if no MathML capability -var alertIfNoMathML = false; // show alert box if no MathML capability -var translateOnLoad = true; // set to false to do call translators from js -var translateASCIIMath = true; // false to preserve `..` -var displaystyle = true; // puts limits above and below large operators -var showasciiformulaonhover = true; // helps students learn ASCIIMath -var decimalsign = "."; // change to "," if you like, beware of `(1,2)`! -var AMdelimiter1 = "`", AMescape1 = "\\\\`"; // can use other characters -var AMdocumentId = "wikitext" // PmWiki element containing math (default=body) -var fixphi = true; //false to return to legacy phi/varphi mapping +(function() { +var mathcolor = 'blue'; // change it to "" (to inherit) or another color +var mathfontsize = '1em'; // change to e.g. 1.2em for larger math +var mathfontfamily = 'serif'; // change to "" to inherit (works in IE) + // or another family (e.g. "arial") +var automathrecognize = false; // writing "amath" on page makes this true +var checkForMathML = true; // check if browser can display MathML +var notifyIfNoMathML = true; // display note at top if no MathML capability +var alertIfNoMathML = false; // show alert box if no MathML capability +var translateOnLoad = true; // set to false to do call translators from js +var translateASCIIMath = true; // false to preserve `..` +var displaystyle = true; // puts limits above and below large operators +var showasciiformulaonhover = true; // helps students learn ASCIIMath +var decimalsign = '.'; // change to "," if you like, beware of `(1,2)`! +var AMdelimiter1 = '`', AMescape1 = '\\\\`'; // can use other characters +var AMdocumentId = 'wikitext' // PmWiki element containing math (default=body) +var fixphi = true; // false to return to legacy phi/varphi mapping /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ -var isIE = (navigator.appName.slice(0,9)=="Microsoft"); +var isIE = (navigator.appName.slice(0, 9) == 'Microsoft'); var noMathML = false, translated = false; -if (isIE) { // add MathPlayer info to IE webpages - document.write(""); - document.write(""); +if (isIE) { // add MathPlayer info to IE webpages + document.write(''); + document.write(''); } // Add a stylesheet, replacing any previous custom stylesheet (adapted from TW) function setStylesheet(s) { - var id = "AMMLcustomStyleSheet"; - var n = document.getElementById(id); - if(document.createStyleSheet) { - // Test for IE's non-standard createStyleSheet method - if(n) - n.parentNode.removeChild(n); - // This failed without the   - document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd"," "); - } else { - if(n) { - n.replaceChild(document.createTextNode(s),n.firstChild); - } else { - n = document.createElement("style"); - n.type = "text/css"; - n.id = id; - n.appendChild(document.createTextNode(s)); - document.getElementsByTagName("head")[0].appendChild(n); - } - } + var id = 'AMMLcustomStyleSheet'; + var n = document.getElementById(id); + if (document.createStyleSheet) { + // Test for IE's non-standard createStyleSheet method + if (n) n.parentNode.removeChild(n); + // This failed without the   + document.getElementsByTagName('head')[0].insertAdjacentHTML( + 'beforeEnd', ' '); + } else { + if (n) { + n.replaceChild(document.createTextNode(s), n.firstChild); + } else { + n = document.createElement('style'); + n.type = 'text/css'; + n.id = id; + n.appendChild(document.createTextNode(s)); + document.getElementsByTagName('head')[0].appendChild(n); + } + } } -setStylesheet("#AMMLcloseDiv \{font-size:0.8em; padding-top:1em; color:#014\}\n#AMMLwarningBox \{position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30\}"); +setStylesheet( + '#AMMLcloseDiv \{font-size:0.8em; padding-top:1em; color:#014\}\n#AMMLwarningBox \{position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30\}'); -function init(){ - var msg, warnings = new Array(); - if (document.getElementById==null){ - alert("This webpage requires a recent browser such as Mozilla Firefox"); - return null; - } - if (checkForMathML && (msg = checkMathML())) warnings.push(msg); - if (warnings.length>0) displayWarnings(warnings); - if (!noMathML) initSymbols(); - return true; +function init() { + var msg, warnings = new Array(); + if (document.getElementById == null) { + alert('This webpage requires a recent browser such as Mozilla Firefox'); + return null; + } + if (checkForMathML && (msg = checkMathML())) warnings.push(msg); + if (warnings.length > 0) displayWarnings(warnings); + if (!noMathML) initSymbols(); + return true; } -function checkMathML(){ - if (navigator.appName.slice(0,8)=="Netscape") - if (navigator.appVersion.slice(0,1)>="5") noMathML = null; - else noMathML = true; - else if (navigator.appName.slice(0,9)=="Microsoft") +function checkMathML() { + if (navigator.appName.slice(0, 8) == 'Netscape') + if (navigator.appVersion.slice(0, 1) >= '5') + noMathML = null; + else + noMathML = true; + else if (navigator.appName.slice(0, 9) == 'Microsoft') try { - var ActiveX = new ActiveXObject("MathPlayer.Factory.1"); - noMathML = null; + var ActiveX = new ActiveXObject('MathPlayer.Factory.1'); + noMathML = null; } catch (e) { - noMathML = true; + noMathML = true; } - else if (navigator.appName.slice(0,5)=="Opera") - if (navigator.appVersion.slice(0,3)>="9.5") noMathML = null; - else noMathML = true; -//noMathML = true; //uncomment to check + else if (navigator.appName.slice(0, 5) == 'Opera') + if (navigator.appVersion.slice(0, 3) >= '9.5') + noMathML = null; + else + noMathML = true; + // noMathML = true; //uncomment to check if (noMathML && notifyIfNoMathML) { - var msg = "To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later."; + var msg = + 'To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later.'; if (alertIfNoMathML) - alert(msg); - else return msg; + alert(msg); + else + return msg; } } -function hideWarning(){ - var body = document.getElementsByTagName("body")[0]; - body.removeChild(document.getElementById('AMMLwarningBox')); - body.onclick = null; +function hideWarning() { + var body = document.getElementsByTagName('body')[0]; + body.removeChild(document.getElementById('AMMLwarningBox')); + body.onclick = null; } function displayWarnings(warnings) { - var i, frag, nd = createElementXHTML("div"); - var body = document.getElementsByTagName("body")[0]; - body.onclick=hideWarning; + var i, frag, nd = createElementXHTML('div'); + var body = document.getElementsByTagName('body')[0]; + body.onclick = hideWarning; nd.id = 'AMMLwarningBox'; - for (i=0; i<", tag:"mo", output:"\u22C9", tex:"ltimes", ttype:CONST}, -{input:"><|", tag:"mo", output:"\u22CA", tex:"rtimes", ttype:CONST}, -{input:"|><|", tag:"mo", output:"\u22C8", tex:"bowtie", ttype:CONST}, -{input:"-:", tag:"mo", output:"\u00F7", tex:"div", ttype:CONST}, -{input:"divide", tag:"mo", output:"-:", tex:null, ttype:DEFINITION}, -{input:"@", tag:"mo", output:"\u2218", tex:"circ", ttype:CONST}, -{input:"o+", tag:"mo", output:"\u2295", tex:"oplus", ttype:CONST}, -{input:"ox", tag:"mo", output:"\u2297", tex:"otimes", ttype:CONST}, -{input:"o.", tag:"mo", output:"\u2299", tex:"odot", ttype:CONST}, -{input:"sum", tag:"mo", output:"\u2211", tex:null, ttype:UNDEROVER}, -{input:"prod", tag:"mo", output:"\u220F", tex:null, ttype:UNDEROVER}, -{input:"^^", tag:"mo", output:"\u2227", tex:"wedge", ttype:CONST}, -{input:"^^^", tag:"mo", output:"\u22C0", tex:"bigwedge", ttype:UNDEROVER}, -{input:"vv", tag:"mo", output:"\u2228", tex:"vee", ttype:CONST}, -{input:"vvv", tag:"mo", output:"\u22C1", tex:"bigvee", ttype:UNDEROVER}, -{input:"nn", tag:"mo", output:"\u2229", tex:"cap", ttype:CONST}, -{input:"nnn", tag:"mo", output:"\u22C2", tex:"bigcap", ttype:UNDEROVER}, -{input:"uu", tag:"mo", output:"\u222A", tex:"cup", ttype:CONST}, -{input:"uuu", tag:"mo", output:"\u22C3", tex:"bigcup", ttype:UNDEROVER}, + // binary operation symbols + //{input:"-", tag:"mo", output:"\u0096", tex:null, ttype:CONST}, + {input: '*', tag: 'mo', output: '\u22C5', tex: 'cdot', ttype: CONST}, + {input: '**', tag: 'mo', output: '\u2217', tex: 'ast', ttype: CONST}, + {input: '***', tag: 'mo', output: '\u22C6', tex: 'star', ttype: CONST}, + {input: '//', tag: 'mo', output: '/', tex: null, ttype: CONST}, + {input: '\\\\', tag: 'mo', output: '\\', tex: 'backslash', ttype: CONST}, + {input: 'setminus', tag: 'mo', output: '\\', tex: null, ttype: CONST}, + {input: 'xx', tag: 'mo', output: '\u00D7', tex: 'times', ttype: CONST}, + {input: '|><', tag: 'mo', output: '\u22C9', tex: 'ltimes', ttype: CONST}, + {input: '><|', tag: 'mo', output: '\u22CA', tex: 'rtimes', ttype: CONST}, + {input: '|><|', tag: 'mo', output: '\u22C8', tex: 'bowtie', ttype: CONST}, + {input: '-:', tag: 'mo', output: '\u00F7', tex: 'div', ttype: CONST}, + {input: 'divide', tag: 'mo', output: '-:', tex: null, ttype: DEFINITION}, + {input: '@', tag: 'mo', output: '\u2218', tex: 'circ', ttype: CONST}, + {input: 'o+', tag: 'mo', output: '\u2295', tex: 'oplus', ttype: CONST}, + {input: 'ox', tag: 'mo', output: '\u2297', tex: 'otimes', ttype: CONST}, + {input: 'o.', tag: 'mo', output: '\u2299', tex: 'odot', ttype: CONST}, + {input: 'sum', tag: 'mo', output: '\u2211', tex: null, ttype: UNDEROVER}, + {input: 'prod', tag: 'mo', output: '\u220F', tex: null, ttype: UNDEROVER}, + {input: '^^', tag: 'mo', output: '\u2227', tex: 'wedge', ttype: CONST}, + { + input: '^^^', + tag: 'mo', + output: '\u22C0', + tex: 'bigwedge', + ttype: UNDEROVER + }, + {input: 'vv', tag: 'mo', output: '\u2228', tex: 'vee', ttype: CONST}, + {input: 'vvv', tag: 'mo', output: '\u22C1', tex: 'bigvee', ttype: UNDEROVER}, + {input: 'nn', tag: 'mo', output: '\u2229', tex: 'cap', ttype: CONST}, + {input: 'nnn', tag: 'mo', output: '\u22C2', tex: 'bigcap', ttype: UNDEROVER}, + {input: 'uu', tag: 'mo', output: '\u222A', tex: 'cup', ttype: CONST}, + {input: 'uuu', tag: 'mo', output: '\u22C3', tex: 'bigcup', ttype: UNDEROVER}, -//binary relation symbols -{input:"!=", tag:"mo", output:"\u2260", tex:"ne", ttype:CONST}, -{input:":=", tag:"mo", output:":=", tex:null, ttype:CONST}, -{input:"lt", tag:"mo", output:"<", tex:null, ttype:CONST}, -{input:"<=", tag:"mo", output:"\u2264", tex:"le", ttype:CONST}, -{input:"lt=", tag:"mo", output:"\u2264", tex:"leq", ttype:CONST}, -{input:"gt", tag:"mo", output:">", tex:null, ttype:CONST}, -{input:">=", tag:"mo", output:"\u2265", tex:"ge", ttype:CONST}, -{input:"gt=", tag:"mo", output:"\u2265", tex:"geq", ttype:CONST}, -{input:"-<", tag:"mo", output:"\u227A", tex:"prec", ttype:CONST}, -{input:"-lt", tag:"mo", output:"\u227A", tex:null, ttype:CONST}, -{input:">-", tag:"mo", output:"\u227B", tex:"succ", ttype:CONST}, -{input:"-<=", tag:"mo", output:"\u2AAF", tex:"preceq", ttype:CONST}, -{input:">-=", tag:"mo", output:"\u2AB0", tex:"succeq", ttype:CONST}, -{input:"in", tag:"mo", output:"\u2208", tex:null, ttype:CONST}, -{input:"!in", tag:"mo", output:"\u2209", tex:"notin", ttype:CONST}, -{input:"sub", tag:"mo", output:"\u2282", tex:"subset", ttype:CONST}, -{input:"sup", tag:"mo", output:"\u2283", tex:"supset", ttype:CONST}, -{input:"sube", tag:"mo", output:"\u2286", tex:"subseteq", ttype:CONST}, -{input:"supe", tag:"mo", output:"\u2287", tex:"supseteq", ttype:CONST}, -{input:"-=", tag:"mo", output:"\u2261", tex:"equiv", ttype:CONST}, -{input:"~=", tag:"mo", output:"\u2245", tex:"cong", ttype:CONST}, -{input:"~~", tag:"mo", output:"\u2248", tex:"approx", ttype:CONST}, -{input:"prop", tag:"mo", output:"\u221D", tex:"propto", ttype:CONST}, + // binary relation symbols + {input: '!=', tag: 'mo', output: '\u2260', tex: 'ne', ttype: CONST}, + {input: ':=', tag: 'mo', output: ':=', tex: null, ttype: CONST}, + {input: 'lt', tag: 'mo', output: '<', tex: null, ttype: CONST}, + {input: '<=', tag: 'mo', output: '\u2264', tex: 'le', ttype: CONST}, + {input: 'lt=', tag: 'mo', output: '\u2264', tex: 'leq', ttype: CONST}, + {input: 'gt', tag: 'mo', output: '>', tex: null, ttype: CONST}, + {input: '>=', tag: 'mo', output: '\u2265', tex: 'ge', ttype: CONST}, + {input: 'gt=', tag: 'mo', output: '\u2265', tex: 'geq', ttype: CONST}, + {input: '-<', tag: 'mo', output: '\u227A', tex: 'prec', ttype: CONST}, + {input: '-lt', tag: 'mo', output: '\u227A', tex: null, ttype: CONST}, + {input: '>-', tag: 'mo', output: '\u227B', tex: 'succ', ttype: CONST}, + {input: '-<=', tag: 'mo', output: '\u2AAF', tex: 'preceq', ttype: CONST}, + {input: '>-=', tag: 'mo', output: '\u2AB0', tex: 'succeq', ttype: CONST}, + {input: 'in', tag: 'mo', output: '\u2208', tex: null, ttype: CONST}, + {input: '!in', tag: 'mo', output: '\u2209', tex: 'notin', ttype: CONST}, + {input: 'sub', tag: 'mo', output: '\u2282', tex: 'subset', ttype: CONST}, + {input: 'sup', tag: 'mo', output: '\u2283', tex: 'supset', ttype: CONST}, + {input: 'sube', tag: 'mo', output: '\u2286', tex: 'subseteq', ttype: CONST}, + {input: 'supe', tag: 'mo', output: '\u2287', tex: 'supseteq', ttype: CONST}, + {input: '-=', tag: 'mo', output: '\u2261', tex: 'equiv', ttype: CONST}, + {input: '~=', tag: 'mo', output: '\u2245', tex: 'cong', ttype: CONST}, + {input: '~~', tag: 'mo', output: '\u2248', tex: 'approx', ttype: CONST}, + {input: 'prop', tag: 'mo', output: '\u221D', tex: 'propto', ttype: CONST}, -//logical symbols -{input:"and", tag:"mtext", output:"and", tex:null, ttype:SPACE}, -{input:"or", tag:"mtext", output:"or", tex:null, ttype:SPACE}, -{input:"not", tag:"mo", output:"\u00AC", tex:"neg", ttype:CONST}, -{input:"=>", tag:"mo", output:"\u21D2", tex:"implies", ttype:CONST}, -{input:"if", tag:"mo", output:"if", tex:null, ttype:SPACE}, -{input:"<=>", tag:"mo", output:"\u21D4", tex:"iff", ttype:CONST}, -{input:"AA", tag:"mo", output:"\u2200", tex:"forall", ttype:CONST}, -{input:"EE", tag:"mo", output:"\u2203", tex:"exists", ttype:CONST}, -{input:"_|_", tag:"mo", output:"\u22A5", tex:"bot", ttype:CONST}, -{input:"TT", tag:"mo", output:"\u22A4", tex:"top", ttype:CONST}, -{input:"|--", tag:"mo", output:"\u22A2", tex:"vdash", ttype:CONST}, -{input:"|==", tag:"mo", output:"\u22A8", tex:"models", ttype:CONST}, + // logical symbols + {input: 'and', tag: 'mtext', output: 'and', tex: null, ttype: SPACE}, + {input: 'or', tag: 'mtext', output: 'or', tex: null, ttype: SPACE}, + {input: 'not', tag: 'mo', output: '\u00AC', tex: 'neg', ttype: CONST}, + {input: '=>', tag: 'mo', output: '\u21D2', tex: 'implies', ttype: CONST}, + {input: 'if', tag: 'mo', output: 'if', tex: null, ttype: SPACE}, + {input: '<=>', tag: 'mo', output: '\u21D4', tex: 'iff', ttype: CONST}, + {input: 'AA', tag: 'mo', output: '\u2200', tex: 'forall', ttype: CONST}, + {input: 'EE', tag: 'mo', output: '\u2203', tex: 'exists', ttype: CONST}, + {input: '_|_', tag: 'mo', output: '\u22A5', tex: 'bot', ttype: CONST}, + {input: 'TT', tag: 'mo', output: '\u22A4', tex: 'top', ttype: CONST}, + {input: '|--', tag: 'mo', output: '\u22A2', tex: 'vdash', ttype: CONST}, + {input: '|==', tag: 'mo', output: '\u22A8', tex: 'models', ttype: CONST}, -//grouping brackets -{input:"(", tag:"mo", output:"(", tex:null, ttype:LEFTBRACKET}, -{input:")", tag:"mo", output:")", tex:null, ttype:RIGHTBRACKET}, -{input:"[", tag:"mo", output:"[", tex:null, ttype:LEFTBRACKET}, -{input:"]", tag:"mo", output:"]", tex:null, ttype:RIGHTBRACKET}, -{input:"{", tag:"mo", output:"{", tex:null, ttype:LEFTBRACKET}, -{input:"}", tag:"mo", output:"}", tex:null, ttype:RIGHTBRACKET}, -{input:"|", tag:"mo", output:"|", tex:null, ttype:LEFTRIGHT}, -//{input:"||", tag:"mo", output:"||", tex:null, ttype:LEFTRIGHT}, -{input:"(:", tag:"mo", output:"\u2329", tex:"langle", ttype:LEFTBRACKET}, -{input:":)", tag:"mo", output:"\u232A", tex:"rangle", ttype:RIGHTBRACKET}, -{input:"<<", tag:"mo", output:"\u2329", tex:null, ttype:LEFTBRACKET}, -{input:">>", tag:"mo", output:"\u232A", tex:null, ttype:RIGHTBRACKET}, -{input:"{:", tag:"mo", output:"{:", tex:null, ttype:LEFTBRACKET, invisible:true}, -{input:":}", tag:"mo", output:":}", tex:null, ttype:RIGHTBRACKET, invisible:true}, + // grouping brackets + {input: '(', tag: 'mo', output: '(', tex: null, ttype: LEFTBRACKET}, + {input: ')', tag: 'mo', output: ')', tex: null, ttype: RIGHTBRACKET}, + {input: '[', tag: 'mo', output: '[', tex: null, ttype: LEFTBRACKET}, + {input: ']', tag: 'mo', output: ']', tex: null, ttype: RIGHTBRACKET}, + {input: '{', tag: 'mo', output: '{', tex: null, ttype: LEFTBRACKET}, + {input: '}', tag: 'mo', output: '}', tex: null, ttype: RIGHTBRACKET}, + {input: '|', tag: 'mo', output: '|', tex: null, ttype: LEFTRIGHT}, + //{input:"||", tag:"mo", output:"||", tex:null, ttype:LEFTRIGHT}, + {input: '(:', tag: 'mo', output: '\u2329', tex: 'langle', ttype: LEFTBRACKET}, + { + input: ':)', + tag: 'mo', + output: '\u232A', + tex: 'rangle', + ttype: RIGHTBRACKET + }, + {input: '<<', tag: 'mo', output: '\u2329', tex: null, ttype: LEFTBRACKET}, + {input: '>>', tag: 'mo', output: '\u232A', tex: null, ttype: RIGHTBRACKET}, + { + input: '{:', + tag: 'mo', + output: '{:', + tex: null, + ttype: LEFTBRACKET, + invisible: true + }, + { + input: ':}', + tag: 'mo', + output: ':}', + tex: null, + ttype: RIGHTBRACKET, + invisible: true + }, -//miscellaneous symbols -{input:"int", tag:"mo", output:"\u222B", tex:null, ttype:CONST}, -{input:"dx", tag:"mi", output:"{:d x:}", tex:null, ttype:DEFINITION}, -{input:"dy", tag:"mi", output:"{:d y:}", tex:null, ttype:DEFINITION}, -{input:"dz", tag:"mi", output:"{:d z:}", tex:null, ttype:DEFINITION}, -{input:"dt", tag:"mi", output:"{:d t:}", tex:null, ttype:DEFINITION}, -{input:"oint", tag:"mo", output:"\u222E", tex:null, ttype:CONST}, -{input:"del", tag:"mo", output:"\u2202", tex:"partial", ttype:CONST}, -{input:"grad", tag:"mo", output:"\u2207", tex:"nabla", ttype:CONST}, -{input:"+-", tag:"mo", output:"\u00B1", tex:"pm", ttype:CONST}, -{input:"O/", tag:"mo", output:"\u2205", tex:"emptyset", ttype:CONST}, -{input:"oo", tag:"mo", output:"\u221E", tex:"infty", ttype:CONST}, -{input:"aleph", tag:"mo", output:"\u2135", tex:null, ttype:CONST}, -{input:"...", tag:"mo", output:"...", tex:"ldots", ttype:CONST}, -{input:":.", tag:"mo", output:"\u2234", tex:"therefore", ttype:CONST}, -{input:":'", tag:"mo", output:"\u2235", tex:"because", ttype:CONST}, -{input:"/_", tag:"mo", output:"\u2220", tex:"angle", ttype:CONST}, -{input:"/_\\", tag:"mo", output:"\u25B3", tex:"triangle", ttype:CONST}, -{input:"'", tag:"mo", output:"\u2032", tex:"prime", ttype:CONST}, -{input:"tilde", tag:"mover", output:"~", tex:null, ttype:UNARY, acc:true}, -{input:"\\ ", tag:"mo", output:"\u00A0", tex:null, ttype:CONST}, -{input:"frown", tag:"mo", output:"\u2322", tex:null, ttype:CONST}, -{input:"quad", tag:"mo", output:"\u00A0\u00A0", tex:null, ttype:CONST}, -{input:"qquad", tag:"mo", output:"\u00A0\u00A0\u00A0\u00A0", tex:null, ttype:CONST}, -{input:"cdots", tag:"mo", output:"\u22EF", tex:null, ttype:CONST}, -{input:"vdots", tag:"mo", output:"\u22EE", tex:null, ttype:CONST}, -{input:"ddots", tag:"mo", output:"\u22F1", tex:null, ttype:CONST}, -{input:"diamond", tag:"mo", output:"\u22C4", tex:null, ttype:CONST}, -{input:"square", tag:"mo", output:"\u25A1", tex:null, ttype:CONST}, -{input:"|__", tag:"mo", output:"\u230A", tex:"lfloor", ttype:CONST}, -{input:"__|", tag:"mo", output:"\u230B", tex:"rfloor", ttype:CONST}, -{input:"|~", tag:"mo", output:"\u2308", tex:"lceiling", ttype:CONST}, -{input:"~|", tag:"mo", output:"\u2309", tex:"rceiling", ttype:CONST}, -{input:"CC", tag:"mo", output:"\u2102", tex:null, ttype:CONST}, -{input:"NN", tag:"mo", output:"\u2115", tex:null, ttype:CONST}, -{input:"QQ", tag:"mo", output:"\u211A", tex:null, ttype:CONST}, -{input:"RR", tag:"mo", output:"\u211D", tex:null, ttype:CONST}, -{input:"ZZ", tag:"mo", output:"\u2124", tex:null, ttype:CONST}, -{input:"f", tag:"mi", output:"f", tex:null, ttype:UNARY, func:true}, -{input:"g", tag:"mi", output:"g", tex:null, ttype:UNARY, func:true}, + // miscellaneous symbols + {input: 'int', tag: 'mo', output: '\u222B', tex: null, ttype: CONST}, + {input: 'dx', tag: 'mi', output: '{:d x:}', tex: null, ttype: DEFINITION}, + {input: 'dy', tag: 'mi', output: '{:d y:}', tex: null, ttype: DEFINITION}, + {input: 'dz', tag: 'mi', output: '{:d z:}', tex: null, ttype: DEFINITION}, + {input: 'dt', tag: 'mi', output: '{:d t:}', tex: null, ttype: DEFINITION}, + {input: 'oint', tag: 'mo', output: '\u222E', tex: null, ttype: CONST}, + {input: 'del', tag: 'mo', output: '\u2202', tex: 'partial', ttype: CONST}, + {input: 'grad', tag: 'mo', output: '\u2207', tex: 'nabla', ttype: CONST}, + {input: '+-', tag: 'mo', output: '\u00B1', tex: 'pm', ttype: CONST}, + {input: 'O/', tag: 'mo', output: '\u2205', tex: 'emptyset', ttype: CONST}, + {input: 'oo', tag: 'mo', output: '\u221E', tex: 'infty', ttype: CONST}, + {input: 'aleph', tag: 'mo', output: '\u2135', tex: null, ttype: CONST}, + {input: '...', tag: 'mo', output: '...', tex: 'ldots', ttype: CONST}, + {input: ':.', tag: 'mo', output: '\u2234', tex: 'therefore', ttype: CONST}, + {input: ':\'', tag: 'mo', output: '\u2235', tex: 'because', ttype: CONST}, + {input: '/_', tag: 'mo', output: '\u2220', tex: 'angle', ttype: CONST}, + {input: '/_\\', tag: 'mo', output: '\u25B3', tex: 'triangle', ttype: CONST}, + {input: '\'', tag: 'mo', output: '\u2032', tex: 'prime', ttype: CONST}, + { + input: 'tilde', + tag: 'mover', + output: '~', + tex: null, + ttype: UNARY, + acc: true + }, + {input: '\\ ', tag: 'mo', output: '\u00A0', tex: null, ttype: CONST}, + {input: 'frown', tag: 'mo', output: '\u2322', tex: null, ttype: CONST}, + {input: 'quad', tag: 'mo', output: '\u00A0\u00A0', tex: null, ttype: CONST}, + { + input: 'qquad', + tag: 'mo', + output: '\u00A0\u00A0\u00A0\u00A0', + tex: null, + ttype: CONST + }, + {input: 'cdots', tag: 'mo', output: '\u22EF', tex: null, ttype: CONST}, + {input: 'vdots', tag: 'mo', output: '\u22EE', tex: null, ttype: CONST}, + {input: 'ddots', tag: 'mo', output: '\u22F1', tex: null, ttype: CONST}, + {input: 'diamond', tag: 'mo', output: '\u22C4', tex: null, ttype: CONST}, + {input: 'square', tag: 'mo', output: '\u25A1', tex: null, ttype: CONST}, + {input: '|__', tag: 'mo', output: '\u230A', tex: 'lfloor', ttype: CONST}, + {input: '__|', tag: 'mo', output: '\u230B', tex: 'rfloor', ttype: CONST}, + {input: '|~', tag: 'mo', output: '\u2308', tex: 'lceiling', ttype: CONST}, + {input: '~|', tag: 'mo', output: '\u2309', tex: 'rceiling', ttype: CONST}, + {input: 'CC', tag: 'mo', output: '\u2102', tex: null, ttype: CONST}, + {input: 'NN', tag: 'mo', output: '\u2115', tex: null, ttype: CONST}, + {input: 'QQ', tag: 'mo', output: '\u211A', tex: null, ttype: CONST}, + {input: 'RR', tag: 'mo', output: '\u211D', tex: null, ttype: CONST}, + {input: 'ZZ', tag: 'mo', output: '\u2124', tex: null, ttype: CONST}, + {input: 'f', tag: 'mi', output: 'f', tex: null, ttype: UNARY, func: true}, + {input: 'g', tag: 'mi', output: 'g', tex: null, ttype: UNARY, func: true}, -//standard functions -{input:"lim", tag:"mo", output:"lim", tex:null, ttype:UNDEROVER}, -{input:"Lim", tag:"mo", output:"Lim", tex:null, ttype:UNDEROVER}, -{input:"sin", tag:"mo", output:"sin", tex:null, ttype:UNARY, func:true}, -{input:"cos", tag:"mo", output:"cos", tex:null, ttype:UNARY, func:true}, -{input:"tan", tag:"mo", output:"tan", tex:null, ttype:UNARY, func:true}, -{input:"sinh", tag:"mo", output:"sinh", tex:null, ttype:UNARY, func:true}, -{input:"cosh", tag:"mo", output:"cosh", tex:null, ttype:UNARY, func:true}, -{input:"tanh", tag:"mo", output:"tanh", tex:null, ttype:UNARY, func:true}, -{input:"cot", tag:"mo", output:"cot", tex:null, ttype:UNARY, func:true}, -{input:"sec", tag:"mo", output:"sec", tex:null, ttype:UNARY, func:true}, -{input:"csc", tag:"mo", output:"csc", tex:null, ttype:UNARY, func:true}, -{input:"arcsin", tag:"mo", output:"arcsin", tex:null, ttype:UNARY, func:true}, -{input:"arccos", tag:"mo", output:"arccos", tex:null, ttype:UNARY, func:true}, -{input:"arctan", tag:"mo", output:"arctan", tex:null, ttype:UNARY, func:true}, -{input:"coth", tag:"mo", output:"coth", tex:null, ttype:UNARY, func:true}, -{input:"sech", tag:"mo", output:"sech", tex:null, ttype:UNARY, func:true}, -{input:"csch", tag:"mo", output:"csch", tex:null, ttype:UNARY, func:true}, -{input:"exp", tag:"mo", output:"exp", tex:null, ttype:UNARY, func:true}, -{input:"abs", tag:"mo", output:"abs", tex:null, ttype:UNARY, rewriteleftright:["|","|"]}, -{input:"norm", tag:"mo", output:"norm", tex:null, ttype:UNARY, rewriteleftright:["\u2225","\u2225"]}, -{input:"floor", tag:"mo", output:"floor", tex:null, ttype:UNARY, rewriteleftright:["\u230A","\u230B"]}, -{input:"ceil", tag:"mo", output:"ceil", tex:null, ttype:UNARY, rewriteleftright:["\u2308","\u2309"]}, -{input:"log", tag:"mo", output:"log", tex:null, ttype:UNARY, func:true}, -{input:"ln", tag:"mo", output:"ln", tex:null, ttype:UNARY, func:true}, -{input:"det", tag:"mo", output:"det", tex:null, ttype:UNARY, func:true}, -{input:"dim", tag:"mo", output:"dim", tex:null, ttype:CONST}, -{input:"mod", tag:"mo", output:"mod", tex:null, ttype:CONST}, -{input:"gcd", tag:"mo", output:"gcd", tex:null, ttype:UNARY, func:true}, -{input:"lcm", tag:"mo", output:"lcm", tex:null, ttype:UNARY, func:true}, -{input:"lub", tag:"mo", output:"lub", tex:null, ttype:CONST}, -{input:"glb", tag:"mo", output:"glb", tex:null, ttype:CONST}, -{input:"min", tag:"mo", output:"min", tex:null, ttype:UNDEROVER}, -{input:"max", tag:"mo", output:"max", tex:null, ttype:UNDEROVER}, + // standard functions + {input: 'lim', tag: 'mo', output: 'lim', tex: null, ttype: UNDEROVER}, + {input: 'Lim', tag: 'mo', output: 'Lim', tex: null, ttype: UNDEROVER}, + {input: 'sin', tag: 'mo', output: 'sin', tex: null, ttype: UNARY, func: true}, + {input: 'cos', tag: 'mo', output: 'cos', tex: null, ttype: UNARY, func: true}, + {input: 'tan', tag: 'mo', output: 'tan', tex: null, ttype: UNARY, func: true}, + { + input: 'sinh', + tag: 'mo', + output: 'sinh', + tex: null, + ttype: UNARY, + func: true + }, + { + input: 'cosh', + tag: 'mo', + output: 'cosh', + tex: null, + ttype: UNARY, + func: true + }, + { + input: 'tanh', + tag: 'mo', + output: 'tanh', + tex: null, + ttype: UNARY, + func: true + }, + {input: 'cot', tag: 'mo', output: 'cot', tex: null, ttype: UNARY, func: true}, + {input: 'sec', tag: 'mo', output: 'sec', tex: null, ttype: UNARY, func: true}, + {input: 'csc', tag: 'mo', output: 'csc', tex: null, ttype: UNARY, func: true}, + { + input: 'arcsin', + tag: 'mo', + output: 'arcsin', + tex: null, + ttype: UNARY, + func: true + }, + { + input: 'arccos', + tag: 'mo', + output: 'arccos', + tex: null, + ttype: UNARY, + func: true + }, + { + input: 'arctan', + tag: 'mo', + output: 'arctan', + tex: null, + ttype: UNARY, + func: true + }, + { + input: 'coth', + tag: 'mo', + output: 'coth', + tex: null, + ttype: UNARY, + func: true + }, + { + input: 'sech', + tag: 'mo', + output: 'sech', + tex: null, + ttype: UNARY, + func: true + }, + { + input: 'csch', + tag: 'mo', + output: 'csch', + tex: null, + ttype: UNARY, + func: true + }, + {input: 'exp', tag: 'mo', output: 'exp', tex: null, ttype: UNARY, func: true}, + { + input: 'abs', + tag: 'mo', + output: 'abs', + tex: null, + ttype: UNARY, + rewriteleftright: ['|', '|'] + }, + { + input: 'norm', + tag: 'mo', + output: 'norm', + tex: null, + ttype: UNARY, + rewriteleftright: ['\u2225', '\u2225'] + }, + { + input: 'floor', + tag: 'mo', + output: 'floor', + tex: null, + ttype: UNARY, + rewriteleftright: ['\u230A', '\u230B'] + }, + { + input: 'ceil', + tag: 'mo', + output: 'ceil', + tex: null, + ttype: UNARY, + rewriteleftright: ['\u2308', '\u2309'] + }, + {input: 'log', tag: 'mo', output: 'log', tex: null, ttype: UNARY, func: true}, + {input: 'ln', tag: 'mo', output: 'ln', tex: null, ttype: UNARY, func: true}, + {input: 'det', tag: 'mo', output: 'det', tex: null, ttype: UNARY, func: true}, + {input: 'dim', tag: 'mo', output: 'dim', tex: null, ttype: CONST}, + {input: 'mod', tag: 'mo', output: 'mod', tex: null, ttype: CONST}, + {input: 'gcd', tag: 'mo', output: 'gcd', tex: null, ttype: UNARY, func: true}, + {input: 'lcm', tag: 'mo', output: 'lcm', tex: null, ttype: UNARY, func: true}, + {input: 'lub', tag: 'mo', output: 'lub', tex: null, ttype: CONST}, + {input: 'glb', tag: 'mo', output: 'glb', tex: null, ttype: CONST}, + {input: 'min', tag: 'mo', output: 'min', tex: null, ttype: UNDEROVER}, + {input: 'max', tag: 'mo', output: 'max', tex: null, ttype: UNDEROVER}, -//arrows -{input:"uarr", tag:"mo", output:"\u2191", tex:"uparrow", ttype:CONST}, -{input:"darr", tag:"mo", output:"\u2193", tex:"downarrow", ttype:CONST}, -{input:"rarr", tag:"mo", output:"\u2192", tex:"rightarrow", ttype:CONST}, -{input:"->", tag:"mo", output:"\u2192", tex:"to", ttype:CONST}, -{input:">->", tag:"mo", output:"\u21A3", tex:"rightarrowtail", ttype:CONST}, -{input:"->>", tag:"mo", output:"\u21A0", tex:"twoheadrightarrow", ttype:CONST}, -{input:">->>", tag:"mo", output:"\u2916", tex:"twoheadrightarrowtail", ttype:CONST}, -{input:"|->", tag:"mo", output:"\u21A6", tex:"mapsto", ttype:CONST}, -{input:"larr", tag:"mo", output:"\u2190", tex:"leftarrow", ttype:CONST}, -{input:"harr", tag:"mo", output:"\u2194", tex:"leftrightarrow", ttype:CONST}, -{input:"rArr", tag:"mo", output:"\u21D2", tex:"Rightarrow", ttype:CONST}, -{input:"lArr", tag:"mo", output:"\u21D0", tex:"Leftarrow", ttype:CONST}, -{input:"hArr", tag:"mo", output:"\u21D4", tex:"Leftrightarrow", ttype:CONST}, -//commands with argument -{input:"sqrt", tag:"msqrt", output:"sqrt", tex:null, ttype:UNARY}, -{input:"root", tag:"mroot", output:"root", tex:null, ttype:BINARY}, -{input:"frac", tag:"mfrac", output:"/", tex:null, ttype:BINARY}, -{input:"/", tag:"mfrac", output:"/", tex:null, ttype:INFIX}, -{input:"stackrel", tag:"mover", output:"stackrel", tex:null, ttype:BINARY}, -{input:"overset", tag:"mover", output:"stackrel", tex:null, ttype:BINARY}, -{input:"underset", tag:"munder", output:"stackrel", tex:null, ttype:BINARY}, -{input:"_", tag:"msub", output:"_", tex:null, ttype:INFIX}, -{input:"^", tag:"msup", output:"^", tex:null, ttype:INFIX}, -{input:"hat", tag:"mover", output:"\u005E", tex:null, ttype:UNARY, acc:true}, -{input:"bar", tag:"mover", output:"\u00AF", tex:"overline", ttype:UNARY, acc:true}, -{input:"vec", tag:"mover", output:"\u2192", tex:null, ttype:UNARY, acc:true}, -{input:"dot", tag:"mover", output:".", tex:null, ttype:UNARY, acc:true}, -{input:"ddot", tag:"mover", output:"..", tex:null, ttype:UNARY, acc:true}, -{input:"ul", tag:"munder", output:"\u0332", tex:"underline", ttype:UNARY, acc:true}, -{input:"ubrace", tag:"munder", output:"\u23DF", tex:"underbrace", ttype:UNARYUNDEROVER, acc:true}, -{input:"obrace", tag:"mover", output:"\u23DE", tex:"overbrace", ttype:UNARYUNDEROVER, acc:true}, -{input:"text", tag:"mtext", output:"text", tex:null, ttype:TEXT}, -{input:"mbox", tag:"mtext", output:"mbox", tex:null, ttype:TEXT}, -{input:"color", tag:"mstyle", ttype:BINARY}, -{input:"cancel", tag:"menclose", output:"cancel", tex:null, ttype:UNARY}, -AMquote, -{input:"bb", tag:"mstyle", atname:"mathvariant", atval:"bold", output:"bb", tex:null, ttype:UNARY}, -{input:"mathbf", tag:"mstyle", atname:"mathvariant", atval:"bold", output:"mathbf", tex:null, ttype:UNARY}, -{input:"sf", tag:"mstyle", atname:"mathvariant", atval:"sans-serif", output:"sf", tex:null, ttype:UNARY}, -{input:"mathsf", tag:"mstyle", atname:"mathvariant", atval:"sans-serif", output:"mathsf", tex:null, ttype:UNARY}, -{input:"bbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"bbb", tex:null, ttype:UNARY, codes:AMbbb}, -{input:"mathbb", tag:"mstyle", atname:"mathvariant", atval:"double-struck", output:"mathbb", tex:null, ttype:UNARY, codes:AMbbb}, -{input:"cc", tag:"mstyle", atname:"mathvariant", atval:"script", output:"cc", tex:null, ttype:UNARY, codes:AMcal}, -{input:"mathcal", tag:"mstyle", atname:"mathvariant", atval:"script", output:"mathcal", tex:null, ttype:UNARY, codes:AMcal}, -{input:"tt", tag:"mstyle", atname:"mathvariant", atval:"monospace", output:"tt", tex:null, ttype:UNARY}, -{input:"mathtt", tag:"mstyle", atname:"mathvariant", atval:"monospace", output:"mathtt", tex:null, ttype:UNARY}, -{input:"fr", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"fr", tex:null, ttype:UNARY, codes:AMfrk}, -{input:"mathfrak", tag:"mstyle", atname:"mathvariant", atval:"fraktur", output:"mathfrak", tex:null, ttype:UNARY, codes:AMfrk} + // arrows + {input: 'uarr', tag: 'mo', output: '\u2191', tex: 'uparrow', ttype: CONST}, + {input: 'darr', tag: 'mo', output: '\u2193', tex: 'downarrow', ttype: CONST}, + {input: 'rarr', tag: 'mo', output: '\u2192', tex: 'rightarrow', ttype: CONST}, + {input: '->', tag: 'mo', output: '\u2192', tex: 'to', ttype: CONST}, + { + input: '>->', + tag: 'mo', + output: '\u21A3', + tex: 'rightarrowtail', + ttype: CONST + }, + { + input: '->>', + tag: 'mo', + output: '\u21A0', + tex: 'twoheadrightarrow', + ttype: CONST + }, + { + input: '>->>', + tag: 'mo', + output: '\u2916', + tex: 'twoheadrightarrowtail', + ttype: CONST + }, + {input: '|->', tag: 'mo', output: '\u21A6', tex: 'mapsto', ttype: CONST}, + {input: 'larr', tag: 'mo', output: '\u2190', tex: 'leftarrow', ttype: CONST}, + { + input: 'harr', + tag: 'mo', + output: '\u2194', + tex: 'leftrightarrow', + ttype: CONST + }, + {input: 'rArr', tag: 'mo', output: '\u21D2', tex: 'Rightarrow', ttype: CONST}, + {input: 'lArr', tag: 'mo', output: '\u21D0', tex: 'Leftarrow', ttype: CONST}, + { + input: 'hArr', + tag: 'mo', + output: '\u21D4', + tex: 'Leftrightarrow', + ttype: CONST + }, + // commands with argument + {input: 'sqrt', tag: 'msqrt', output: 'sqrt', tex: null, ttype: UNARY}, + {input: 'root', tag: 'mroot', output: 'root', tex: null, ttype: BINARY}, + {input: 'frac', tag: 'mfrac', output: '/', tex: null, ttype: BINARY}, + {input: '/', tag: 'mfrac', output: '/', tex: null, ttype: INFIX}, + { + input: 'stackrel', + tag: 'mover', + output: 'stackrel', + tex: null, + ttype: BINARY + }, + { + input: 'overset', + tag: 'mover', + output: 'stackrel', + tex: null, + ttype: BINARY + }, + { + input: 'underset', + tag: 'munder', + output: 'stackrel', + tex: null, + ttype: BINARY + }, + {input: '_', tag: 'msub', output: '_', tex: null, ttype: INFIX}, + {input: '^', tag: 'msup', output: '^', tex: null, ttype: INFIX}, + { + input: 'hat', + tag: 'mover', + output: '\u005E', + tex: null, + ttype: UNARY, + acc: true + }, + { + input: 'bar', + tag: 'mover', + output: '\u00AF', + tex: 'overline', + ttype: UNARY, + acc: true + }, + { + input: 'vec', + tag: 'mover', + output: '\u2192', + tex: null, + ttype: UNARY, + acc: true + }, + {input: 'dot', tag: 'mover', output: '.', tex: null, ttype: UNARY, acc: true}, + { + input: 'ddot', + tag: 'mover', + output: '..', + tex: null, + ttype: UNARY, + acc: true + }, + { + input: 'ul', + tag: 'munder', + output: '\u0332', + tex: 'underline', + ttype: UNARY, + acc: true + }, + { + input: 'ubrace', + tag: 'munder', + output: '\u23DF', + tex: 'underbrace', + ttype: UNARYUNDEROVER, + acc: true + }, + { + input: 'obrace', + tag: 'mover', + output: '\u23DE', + tex: 'overbrace', + ttype: UNARYUNDEROVER, + acc: true + }, + {input: 'text', tag: 'mtext', output: 'text', tex: null, ttype: TEXT}, + {input: 'mbox', tag: 'mtext', output: 'mbox', tex: null, ttype: TEXT}, + {input: 'color', tag: 'mstyle', ttype: BINARY}, + {input: 'cancel', tag: 'menclose', output: 'cancel', tex: null, ttype: UNARY}, + AMquote, + { + input: 'bb', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'bold', + output: 'bb', + tex: null, + ttype: UNARY + }, + { + input: 'mathbf', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'bold', + output: 'mathbf', + tex: null, + ttype: UNARY + }, + { + input: 'sf', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'sans-serif', + output: 'sf', + tex: null, + ttype: UNARY + }, + { + input: 'mathsf', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'sans-serif', + output: 'mathsf', + tex: null, + ttype: UNARY + }, + { + input: 'bbb', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'double-struck', + output: 'bbb', + tex: null, + ttype: UNARY, + codes: AMbbb + }, + { + input: 'mathbb', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'double-struck', + output: 'mathbb', + tex: null, + ttype: UNARY, + codes: AMbbb + }, + { + input: 'cc', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'script', + output: 'cc', + tex: null, + ttype: UNARY, + codes: AMcal + }, + { + input: 'mathcal', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'script', + output: 'mathcal', + tex: null, + ttype: UNARY, + codes: AMcal + }, + { + input: 'tt', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'monospace', + output: 'tt', + tex: null, + ttype: UNARY + }, + { + input: 'mathtt', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'monospace', + output: 'mathtt', + tex: null, + ttype: UNARY + }, + { + input: 'fr', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'fraktur', + output: 'fr', + tex: null, + ttype: UNARY, + codes: AMfrk + }, + { + input: 'mathfrak', + tag: 'mstyle', + atname: 'mathvariant', + atval: 'fraktur', + output: 'mathfrak', + tex: null, + ttype: UNARY, + codes: AMfrk + } ]; -function compareNames(s1,s2) { - if (s1.input > s2.input) return 1 - else return -1; +function compareNames(s1, s2) { + if (s1.input > s2.input) + return 1 + else return -1; } -var AMnames = []; //list of input symbols +var AMnames = []; // list of input symbols function initSymbols() { var i; var symlen = AMsymbols.length; - for (i=0; i=n where str appears or would be inserted -// assumes arr is sorted - if (n==0) { - var h,m; +function position(arr, str, n) { + // return position >=n where str appears or would be inserted + // assumes arr is sorted + if (n == 0) { + var h, m; n = -1; h = arr.length; - while (n+1> 1; - if (arr[m]> 1; + if (arr[m] < str) + n = m; + else + h = m; } return h; } else - for (var i=n; i=str + for (var i = n; i < arr.length && arr[i] < str; i++) + ; + return i; // i=arr.length || arr[i]>=str } function AMgetSymbol(str) { -//return maximal initial substring of str that appears in names -//return null if there is none - var k = 0; //new pos - var j = 0; //old pos - var mk; //match pos + // return maximal initial substring of str that appears in names + // return null if there is none + var k = 0; // new pos + var j = 0; // old pos + var mk; // match pos var st; var tagst; - var match = ""; + var match = ''; var more = true; - for (var i=1; i<=str.length && more; i++) { - st = str.slice(0,i); //initial substring of length i + for (var i = 1; i <= str.length && more; i++) { + st = str.slice(0, i); // initial substring of length i j = k; k = position(AMnames, st, j); - if (k=AMnames[k]; + more = k < AMnames.length && str.slice(0, AMnames[k].length) >= AMnames[k]; } - AMpreviousSymbol=AMcurrentSymbol; - if (match!=""){ - AMcurrentSymbol=AMsymbols[mk].ttype; - return AMsymbols[mk]; + AMpreviousSymbol = AMcurrentSymbol; + if (match != '') { + AMcurrentSymbol = AMsymbols[mk].ttype; + return AMsymbols[mk]; } -// if str[0] is a digit or - return maxsubstring of digits.digits - AMcurrentSymbol=CONST; + // if str[0] is a digit or - return maxsubstring of digits.digits + AMcurrentSymbol = CONST; k = 1; - st = str.slice(0,1); + st = str.slice(0, 1); var integ = true; - while ("0"<=st && st<="9" && k<=str.length) { - st = str.slice(k,k+1); + while ('0' <= st && st <= '9' && k <= str.length) { + st = str.slice(k, k + 1); k++; } if (st == decimalsign) { - st = str.slice(k,k+1); - if ("0"<=st && st<="9") { + st = str.slice(k, k + 1); + if ('0' <= st && st <= '9') { integ = false; k++; - while ("0"<=st && st<="9" && k<=str.length) { - st = str.slice(k,k+1); + while ('0' <= st && st <= '9' && k <= str.length) { + st = str.slice(k, k + 1); k++; } } } - if ((integ && k>1) || k>2) { - st = str.slice(0,k-1); - tagst = "mn"; + if ((integ && k > 1) || k > 2) { + st = str.slice(0, k - 1); + tagst = 'mn'; } else { k = 2; - st = str.slice(0,1); //take 1 character - tagst = (("A">st || st>"Z") && ("a">st || st>"z")?"mo":"mi"); + st = str.slice(0, 1); // take 1 character + tagst = (('A' > st || st > 'Z') && ('a' > st || st > 'z') ? 'mo' : 'mi'); } - if (st=="-" && AMpreviousSymbol==INFIX) { - AMcurrentSymbol = INFIX; //trick "/" into recognizing "-" on second parse - return {input:st, tag:tagst, output:st, ttype:UNARY, func:true}; + if (st == '-' && AMpreviousSymbol == INFIX) { + AMcurrentSymbol = INFIX; // trick "/" into recognizing "-" on second parse + return {input: st, tag: tagst, output: st, ttype: UNARY, func: true}; } - return {input:st, tag:tagst, output:st, ttype:CONST}; + return {input: st, tag: tagst, output: st, ttype: CONST}; } function AMremoveBrackets(node) { var st; - if (!node.hasChildNodes()) { return; } - if (node.firstChild.hasChildNodes() && (node.nodeName=="mrow" || node.nodeName=="M:MROW")) { + if (!node.hasChildNodes()) { + return; + } + if (node.firstChild.hasChildNodes() && + (node.nodeName == 'mrow' || node.nodeName == 'M:MROW')) { st = node.firstChild.firstChild.nodeValue; - if (st=="(" || st=="[" || st=="{") node.removeChild(node.firstChild); + if (st == '(' || st == '[' || st == '{') node.removeChild(node.firstChild); } - if (node.lastChild.hasChildNodes() && (node.nodeName=="mrow" || node.nodeName=="M:MROW")) { + if (node.lastChild.hasChildNodes() && + (node.nodeName == 'mrow' || node.nodeName == 'M:MROW')) { st = node.lastChild.firstChild.nodeValue; - if (st==")" || st=="]" || st=="}") node.removeChild(node.lastChild); + if (st == ')' || st == ']' || st == '}') node.removeChild(node.lastChild); } } @@ -608,368 +1028,423 @@ I ::= S_S | S^S | S_S^S | S Intermediate expression E ::= IE | I/I Expression Each terminal symbol is translated into a corresponding mathml node.*/ -var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol; +var AMnestingDepth, AMpreviousSymbol, AMcurrentSymbol; -function AMparseSexpr(str) { //parses str and returns [node,tailstr] - var symbol, node, result, i, st,// rightvert = false, - newFrag = document.createDocumentFragment(); - str = AMremoveCharsAndBlanks(str,0); - symbol = AMgetSymbol(str); //either a token or a bracket or empty +function AMparseSexpr(str) { // parses str and returns [node,tailstr] + var symbol, node, result, i, st, // rightvert = false, + newFrag = document.createDocumentFragment(); + str = AMremoveCharsAndBlanks(str, 0); + symbol = AMgetSymbol(str); // either a token or a bracket or empty if (symbol == null || symbol.ttype == RIGHTBRACKET && AMnestingDepth > 0) { - return [null,str]; + return [null, str]; } if (symbol.ttype == DEFINITION) { - str = symbol.output+AMremoveCharsAndBlanks(str,symbol.input.length); + str = symbol.output + AMremoveCharsAndBlanks(str, symbol.input.length); symbol = AMgetSymbol(str); } - switch (symbol.ttype) { case UNDEROVER: - case CONST: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - return [createMmlNode(symbol.tag, //its a constant - document.createTextNode(symbol.output)),str]; - case LEFTBRACKET: //read (expr+) - AMnestingDepth++; - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseExpr(str,true); - AMnestingDepth--; - if (typeof symbol.invisible == "boolean" && symbol.invisible) - node = createMmlNode("mrow",result[0]); - else { - node = createMmlNode("mo",document.createTextNode(symbol.output)); - node = createMmlNode("mrow",node); - node.appendChild(result[0]); - } - return [node,result[1]]; - case TEXT: - if (symbol!=AMquote) str = AMremoveCharsAndBlanks(str,symbol.input.length); - if (str.charAt(0)=="{") i=str.indexOf("}"); - else if (str.charAt(0)=="(") i=str.indexOf(")"); - else if (str.charAt(0)=="[") i=str.indexOf("]"); - else if (symbol==AMquote) i=str.slice(1).indexOf("\"")+1; - else i = 0; - if (i==-1) i = str.length; - st = str.slice(1,i); - if (st.charAt(0) == " ") { - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); + switch (symbol.ttype) { + case UNDEROVER: + case CONST: + str = AMremoveCharsAndBlanks(str, symbol.input.length); + return [ + createMmlNode( + symbol.tag, // its a constant + document.createTextNode(symbol.output)), + str + ]; + case LEFTBRACKET: // read (expr+) + AMnestingDepth++; + str = AMremoveCharsAndBlanks(str, symbol.input.length); + result = AMparseExpr(str, true); + AMnestingDepth--; + if (typeof symbol.invisible == 'boolean' && symbol.invisible) + node = createMmlNode('mrow', result[0]); + else { + node = createMmlNode('mo', document.createTextNode(symbol.output)); + node = createMmlNode('mrow', node); + node.appendChild(result[0]); + } + return [node, result[1]]; + case TEXT: + if (symbol != AMquote) + str = AMremoveCharsAndBlanks(str, symbol.input.length); + if (str.charAt(0) == '{') + i = str.indexOf('}'); + else if (str.charAt(0) == '(') + i = str.indexOf(')'); + else if (str.charAt(0) == '[') + i = str.indexOf(']'); + else if (symbol == AMquote) + i = str.slice(1).indexOf('"') + 1; + else + i = 0; + if (i == -1) i = str.length; + st = str.slice(1, i); + if (st.charAt(0) == ' ') { + node = createMmlNode('mspace'); + node.setAttribute('width', '1ex'); newFrag.appendChild(node); } newFrag.appendChild( - createMmlNode(symbol.tag,document.createTextNode(st))); - if (st.charAt(st.length-1) == " ") { - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); + createMmlNode(symbol.tag, document.createTextNode(st))); + if (st.charAt(st.length - 1) == ' ') { + node = createMmlNode('mspace'); + node.setAttribute('width', '1ex'); newFrag.appendChild(node); } - str = AMremoveCharsAndBlanks(str,i+1); - return [createMmlNode("mrow",newFrag),str]; - case UNARYUNDEROVER: - case UNARY: - str = AMremoveCharsAndBlanks(str,symbol.input.length); + str = AMremoveCharsAndBlanks(str, i + 1); + return [createMmlNode('mrow', newFrag), str]; + case UNARYUNDEROVER: + case UNARY: + str = AMremoveCharsAndBlanks(str, symbol.input.length); result = AMparseSexpr(str); - if (result[0]==null) return [createMmlNode(symbol.tag, - document.createTextNode(symbol.output)),str]; - if (typeof symbol.func == "boolean" && symbol.func) { // functions hack + if (result[0] == null) + return [ + createMmlNode(symbol.tag, document.createTextNode(symbol.output)), str + ]; + if (typeof symbol.func == 'boolean' && symbol.func) { // functions hack st = str.charAt(0); - if (st=="^" || st=="_" || st=="/" || st=="|" || st=="," || - (symbol.input.length==1 && symbol.input.match(/\w/) && st!="(")) { - return [createMmlNode(symbol.tag, - document.createTextNode(symbol.output)),str]; + if (st == '^' || st == '_' || st == '/' || st == '|' || st == ',' || + (symbol.input.length == 1 && symbol.input.match(/\w/) && + st != '(')) { + return [ + createMmlNode(symbol.tag, document.createTextNode(symbol.output)), + str + ]; } else { - node = createMmlNode("mrow", - createMmlNode(symbol.tag,document.createTextNode(symbol.output))); + node = createMmlNode( + 'mrow', + createMmlNode( + symbol.tag, document.createTextNode(symbol.output))); node.appendChild(result[0]); - return [node,result[1]]; + return [node, result[1]]; } } AMremoveBrackets(result[0]); - if (symbol.input == "sqrt") { // sqrt - return [createMmlNode(symbol.tag,result[0]),result[1]]; - } else if (typeof symbol.rewriteleftright != "undefined") { // abs, floor, ceil - node = createMmlNode("mrow", createMmlNode("mo",document.createTextNode(symbol.rewriteleftright[0]))); - node.appendChild(result[0]); - node.appendChild(createMmlNode("mo",document.createTextNode(symbol.rewriteleftright[1]))); - return [node,result[1]]; - } else if (symbol.input == "cancel") { // cancel - node = createMmlNode(symbol.tag,result[0]); - node.setAttribute("notation","updiagonalstrike"); - return [node,result[1]]; - } else if (typeof symbol.acc == "boolean" && symbol.acc) { // accent - node = createMmlNode(symbol.tag,result[0]); - node.appendChild(createMmlNode("mo",document.createTextNode(symbol.output))); - return [node,result[1]]; - } else { // font change command - if (!isIE && typeof symbol.codes != "undefined") { - for (i=0; i64 && st.charCodeAt(j)<91) - newst = newst + symbol.codes[st.charCodeAt(j)-65]; - else if (st.charCodeAt(j)>96 && st.charCodeAt(j)<123) - newst = newst + symbol.codes[st.charCodeAt(j)-71]; - else newst = newst + st.charAt(j); - if (result[0].nodeName=="mi") - result[0]=createMmlNode("mo"). - appendChild(document.createTextNode(newst)); - else result[0].replaceChild(createMmlNode("mo"). - appendChild(document.createTextNode(newst)), - result[0].childNodes[i]); + for (var j = 0; j < st.length; j++) + if (st.charCodeAt(j) > 64 && st.charCodeAt(j) < 91) + newst = newst + symbol.codes[st.charCodeAt(j) - 65]; + else if (st.charCodeAt(j) > 96 && st.charCodeAt(j) < 123) + newst = newst + symbol.codes[st.charCodeAt(j) - 71]; + else + newst = newst + st.charAt(j); + if (result[0].nodeName == 'mi') + result[0] = createMmlNode('mo').appendChild( + document.createTextNode(newst)); + else + result[0].replaceChild( + createMmlNode('mo').appendChild( + document.createTextNode(newst)), + result[0].childNodes[i]); } } - node = createMmlNode(symbol.tag,result[0]); - node.setAttribute(symbol.atname,symbol.atval); - return [node,result[1]]; + node = createMmlNode(symbol.tag, result[0]); + node.setAttribute(symbol.atname, symbol.atval); + return [node, result[1]]; } - case BINARY: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseSexpr(str); - if (result[0]==null) return [createMmlNode("mo", - document.createTextNode(symbol.input)),str]; - AMremoveBrackets(result[0]); - var result2 = AMparseSexpr(result[1]); - if (result2[0]==null) return [createMmlNode("mo", - document.createTextNode(symbol.input)),str]; - AMremoveBrackets(result2[0]); - if (symbol.input=="color") { - if (str.charAt(0)=="{") i=str.indexOf("}"); - else if (str.charAt(0)=="(") i=str.indexOf(")"); - else if (str.charAt(0)=="[") i=str.indexOf("]"); - st = str.slice(1,i); - node = createMmlNode(symbol.tag,result2[0]); - node.setAttribute("mathcolor",st); - return [node,result2[1]]; - } - if (symbol.input=="root" || symbol.output=="stackrel") - newFrag.appendChild(result2[0]); - newFrag.appendChild(result[0]); - if (symbol.input=="frac") newFrag.appendChild(result2[0]); - return [createMmlNode(symbol.tag,newFrag),result2[1]]; - case INFIX: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - return [createMmlNode("mo",document.createTextNode(symbol.output)),str]; - case SPACE: - str = AMremoveCharsAndBlanks(str,symbol.input.length); - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); - newFrag.appendChild(node); - newFrag.appendChild( - createMmlNode(symbol.tag,document.createTextNode(symbol.output))); - node = createMmlNode("mspace"); - node.setAttribute("width","1ex"); - newFrag.appendChild(node); - return [createMmlNode("mrow",newFrag),str]; - case LEFTRIGHT: -// if (rightvert) return [null,str]; else rightvert = true; - AMnestingDepth++; - str = AMremoveCharsAndBlanks(str,symbol.input.length); - result = AMparseExpr(str,false); - AMnestingDepth--; - st = ""; - if (result[0].lastChild!=null) - st = result[0].lastChild.firstChild.nodeValue; - if (st == "|") { // its an absolute value subterm - node = createMmlNode("mo",document.createTextNode(symbol.output)); - node = createMmlNode("mrow",node); - node.appendChild(result[0]); - return [node,result[1]]; - } else { // the "|" is a \mid so use unicode 2223 (divides) for spacing - node = createMmlNode("mo",document.createTextNode("\u2223")); - node = createMmlNode("mrow",node); - return [node,str]; - } - default: -//alert("default"); - str = AMremoveCharsAndBlanks(str,symbol.input.length); - return [createMmlNode(symbol.tag, //its a constant - document.createTextNode(symbol.output)),str]; + case BINARY: + str = AMremoveCharsAndBlanks(str, symbol.input.length); + result = AMparseSexpr(str); + if (result[0] == null) + return [ + createMmlNode('mo', document.createTextNode(symbol.input)), str + ]; + AMremoveBrackets(result[0]); + var result2 = AMparseSexpr(result[1]); + if (result2[0] == null) + return [ + createMmlNode('mo', document.createTextNode(symbol.input)), str + ]; + AMremoveBrackets(result2[0]); + if (symbol.input == 'color') { + if (str.charAt(0) == '{') + i = str.indexOf('}'); + else if (str.charAt(0) == '(') + i = str.indexOf(')'); + else if (str.charAt(0) == '[') + i = str.indexOf(']'); + st = str.slice(1, i); + node = createMmlNode(symbol.tag, result2[0]); + node.setAttribute('mathcolor', st); + return [node, result2[1]]; + } + if (symbol.input == 'root' || symbol.output == 'stackrel') + newFrag.appendChild(result2[0]); + newFrag.appendChild(result[0]); + if (symbol.input == 'frac') newFrag.appendChild(result2[0]); + return [createMmlNode(symbol.tag, newFrag), result2[1]]; + case INFIX: + str = AMremoveCharsAndBlanks(str, symbol.input.length); + return [createMmlNode('mo', document.createTextNode(symbol.output)), str]; + case SPACE: + str = AMremoveCharsAndBlanks(str, symbol.input.length); + node = createMmlNode('mspace'); + node.setAttribute('width', '1ex'); + newFrag.appendChild(node); + newFrag.appendChild( + createMmlNode(symbol.tag, document.createTextNode(symbol.output))); + node = createMmlNode('mspace'); + node.setAttribute('width', '1ex'); + newFrag.appendChild(node); + return [createMmlNode('mrow', newFrag), str]; + case LEFTRIGHT: + // if (rightvert) return [null,str]; else rightvert = true; + AMnestingDepth++; + str = AMremoveCharsAndBlanks(str, symbol.input.length); + result = AMparseExpr(str, false); + AMnestingDepth--; + st = ''; + if (result[0].lastChild != null) + st = result[0].lastChild.firstChild.nodeValue; + if (st == '|') { // its an absolute value subterm + node = createMmlNode('mo', document.createTextNode(symbol.output)); + node = createMmlNode('mrow', node); + node.appendChild(result[0]); + return [node, result[1]]; + } else { // the "|" is a \mid so use unicode 2223 (divides) for spacing + node = createMmlNode('mo', document.createTextNode('\u2223')); + node = createMmlNode('mrow', node); + return [node, str]; + } + default: + // alert("default"); + str = AMremoveCharsAndBlanks(str, symbol.input.length); + return [ + createMmlNode( + symbol.tag, // its a constant + document.createTextNode(symbol.output)), + str + ]; } } function AMparseIexpr(str) { var symbol, sym1, sym2, node, result, underover; - str = AMremoveCharsAndBlanks(str,0); + str = AMremoveCharsAndBlanks(str, 0); sym1 = AMgetSymbol(str); result = AMparseSexpr(str); node = result[0]; str = result[1]; symbol = AMgetSymbol(str); - if (symbol.ttype == INFIX && symbol.input != "/") { - str = AMremoveCharsAndBlanks(str,symbol.input.length); -// if (symbol.input == "/") result = AMparseIexpr(str); else ... + if (symbol.ttype == INFIX && symbol.input != '/') { + str = AMremoveCharsAndBlanks(str, symbol.input.length); + // if (symbol.input == "/") result = AMparseIexpr(str); else ... result = AMparseSexpr(str); - if (result[0] == null) // show box in place of missing argument - result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); - else AMremoveBrackets(result[0]); + if (result[0] == null) // show box in place of missing argument + result[0] = createMmlNode('mo', document.createTextNode('\u25A1')); + else + AMremoveBrackets(result[0]); str = result[1]; -// if (symbol.input == "/") AMremoveBrackets(node); + // if (symbol.input == "/") AMremoveBrackets(node); underover = (sym1.ttype == UNDEROVER || sym1.ttype == UNARYUNDEROVER); - if (symbol.input == "_") { + if (symbol.input == '_') { sym2 = AMgetSymbol(str); - if (sym2.input == "^") { - str = AMremoveCharsAndBlanks(str,sym2.input.length); + if (sym2.input == '^') { + str = AMremoveCharsAndBlanks(str, sym2.input.length); var res2 = AMparseSexpr(str); AMremoveBrackets(res2[0]); str = res2[1]; - node = createMmlNode((underover?"munderover":"msubsup"),node); + node = createMmlNode((underover ? 'munderover' : 'msubsup'), node); node.appendChild(result[0]); node.appendChild(res2[0]); - node = createMmlNode("mrow",node); // so sum does not stretch + node = createMmlNode('mrow', node); // so sum does not stretch } else { - node = createMmlNode((underover?"munder":"msub"),node); + node = createMmlNode((underover ? 'munder' : 'msub'), node); node.appendChild(result[0]); } - } else if (symbol.input == "^" && underover) { - node = createMmlNode("mover",node); - node.appendChild(result[0]); + } else if (symbol.input == '^' && underover) { + node = createMmlNode('mover', node); + node.appendChild(result[0]); } else { - node = createMmlNode(symbol.tag,node); + node = createMmlNode(symbol.tag, node); node.appendChild(result[0]); } if (typeof sym1.func != 'undefined' && sym1.func) { - sym2 = AMgetSymbol(str); - if (sym2.ttype != INFIX && sym2.ttype != RIGHTBRACKET) { - result = AMparseIexpr(str); - node = createMmlNode("mrow",node); - node.appendChild(result[0]); - str = result[1]; - } + sym2 = AMgetSymbol(str); + if (sym2.ttype != INFIX && sym2.ttype != RIGHTBRACKET) { + result = AMparseIexpr(str); + node = createMmlNode('mrow', node); + node.appendChild(result[0]); + str = result[1]; + } } } - return [node,str]; + return [node, str]; } -function AMparseExpr(str,rightbracket) { - var symbol, node, result, i, - newFrag = document.createDocumentFragment(); +function AMparseExpr(str, rightbracket) { + var symbol, node, result, i, newFrag = document.createDocumentFragment(); do { - str = AMremoveCharsAndBlanks(str,0); + str = AMremoveCharsAndBlanks(str, 0); result = AMparseIexpr(str); node = result[0]; str = result[1]; symbol = AMgetSymbol(str); - if (symbol.ttype == INFIX && symbol.input == "/") { - str = AMremoveCharsAndBlanks(str,symbol.input.length); + if (symbol.ttype == INFIX && symbol.input == '/') { + str = AMremoveCharsAndBlanks(str, symbol.input.length); result = AMparseIexpr(str); - if (result[0] == null) // show box in place of missing argument - result[0] = createMmlNode("mo",document.createTextNode("\u25A1")); - else AMremoveBrackets(result[0]); + if (result[0] == null) // show box in place of missing argument + result[0] = createMmlNode('mo', document.createTextNode('\u25A1')); + else + AMremoveBrackets(result[0]); str = result[1]; AMremoveBrackets(node); - node = createMmlNode(symbol.tag,node); + node = createMmlNode(symbol.tag, node); node.appendChild(result[0]); newFrag.appendChild(node); symbol = AMgetSymbol(str); - } - else if (node!=undefined) newFrag.appendChild(node); - } while ((symbol.ttype != RIGHTBRACKET && - (symbol.ttype != LEFTRIGHT || rightbracket) - || AMnestingDepth == 0) && symbol!=null && symbol.output!=""); + } else if (node != undefined) + newFrag.appendChild(node); + } while ((symbol.ttype != RIGHTBRACKET && + (symbol.ttype != LEFTRIGHT || rightbracket) || + AMnestingDepth == 0) && + symbol != null && symbol.output != ''); if (symbol.ttype == RIGHTBRACKET || symbol.ttype == LEFTRIGHT) { -// if (AMnestingDepth > 0) AMnestingDepth--; + // if (AMnestingDepth > 0) AMnestingDepth--; var len = newFrag.childNodes.length; - if (len>0 && newFrag.childNodes[len-1].nodeName == "mrow" - && newFrag.childNodes[len-1].lastChild - && newFrag.childNodes[len-1].lastChild.firstChild ) { //matrix - //removed to allow row vectors: //&& len>1 && - //newFrag.childNodes[len-2].nodeName == "mo" && - //newFrag.childNodes[len-2].firstChild.nodeValue == "," - var right = newFrag.childNodes[len-1].lastChild.firstChild.nodeValue; - if (right==")" || right=="]") { - var left = newFrag.childNodes[len-1].firstChild.firstChild.nodeValue; - if (left=="(" && right==")" && symbol.output != "}" || - left=="[" && right=="]") { - var pos = []; // positions of commas - var matrix = true; - var m = newFrag.childNodes.length; - for (i=0; matrix && i1) matrix = pos[i].length == pos[i-2].length; - } - matrix = matrix && (pos.length>1 || pos[0].length>0); - if (matrix) { - var row, frag, n, k, table = document.createDocumentFragment(); - for (i=0; i(-,-,...,-,-) - n = node.childNodes.length; - k = 0; - node.removeChild(node.firstChild); //remove ( - for (j=1; j2) { - newFrag.removeChild(newFrag.firstChild); //remove ) - newFrag.removeChild(newFrag.firstChild); //remove , + if (len > 0 && newFrag.childNodes[len - 1].nodeName == 'mrow' && + newFrag.childNodes[len - 1].lastChild && + newFrag.childNodes[len - 1].lastChild.firstChild) { // matrix + // removed to allow row vectors: //&& len>1 && + // newFrag.childNodes[len-2].nodeName == "mo" && + // newFrag.childNodes[len-2].firstChild.nodeValue == "," + var right = newFrag.childNodes[len - 1].lastChild.firstChild.nodeValue; + if (right == ')' || right == ']') { + var left = newFrag.childNodes[len - 1].firstChild.firstChild.nodeValue; + if (left == '(' && right == ')' && symbol.output != '}' || + left == '[' && right == ']') { + var pos = []; // positions of commas + var matrix = true; + var m = newFrag.childNodes.length; + for (i = 0; matrix && i < m; i = i + 2) { + pos[i] = []; + node = newFrag.childNodes[i]; + if (matrix) + matrix = node.nodeName == 'mrow' && + (i == m - 1 || + node.nextSibling.nodeName == 'mo' && + node.nextSibling.firstChild.nodeValue == ',') && + node.firstChild.firstChild.nodeValue == left && + node.lastChild.firstChild.nodeValue == right; + if (matrix) + for (var j = 0; j < node.childNodes.length; j++) + if (node.childNodes[j].firstChild.nodeValue == ',') + pos[i][pos[i].length] = j; + if (matrix && i > 1) matrix = pos[i].length == pos[i - 2].length; + } + matrix = matrix && (pos.length > 1 || pos[0].length > 0); + if (matrix) { + var row, frag, n, k, table = document.createDocumentFragment(); + for (i = 0; i < m; i = i + 2) { + row = document.createDocumentFragment(); + frag = document.createDocumentFragment(); + node = newFrag.firstChild; // (-,-,...,-,-) + n = node.childNodes.length; + k = 0; + node.removeChild(node.firstChild); // remove ( + for (j = 1; j < n - 1; j++) { + if (typeof pos[i][k] != 'undefined' && j == pos[i][k]) { + node.removeChild(node.firstChild); // remove , + row.appendChild(createMmlNode('mtd', frag)); + k++; + } else + frag.appendChild(node.firstChild); + } + row.appendChild(createMmlNode('mtd', frag)); + if (newFrag.childNodes.length > 2) { + newFrag.removeChild( + newFrag.firstChild); // remove ) + newFrag.removeChild(newFrag.firstChild); // remove , + } + table.appendChild(createMmlNode('mtr', row)); } - table.appendChild(createMmlNode("mtr",row)); + node = createMmlNode('mtable', table); + if (typeof symbol.invisible == 'boolean' && symbol.invisible) + node.setAttribute('columnalign', 'left'); + newFrag.replaceChild(node, newFrag.firstChild); } - node = createMmlNode("mtable",table); - if (typeof symbol.invisible == "boolean" && symbol.invisible) node.setAttribute("columnalign","left"); - newFrag.replaceChild(node,newFrag.firstChild); } - } } } - str = AMremoveCharsAndBlanks(str,symbol.input.length); - if (typeof symbol.invisible != "boolean" || !symbol.invisible) { - node = createMmlNode("mo",document.createTextNode(symbol.output)); + str = AMremoveCharsAndBlanks(str, symbol.input.length); + if (typeof symbol.invisible != 'boolean' || !symbol.invisible) { + node = createMmlNode('mo', document.createTextNode(symbol.output)); newFrag.appendChild(node); } } - return [newFrag,str]; + return [newFrag, str]; } -function parseMath(str,latex) { +function parseMath(str, latex) { var frag, node; AMnestingDepth = 0; - //some basic cleanup for dealing with stuff editors like TinyMCE adds - str = str.replace(/ /g,""); - str = str.replace(/>/g,">"); - str = str.replace(/</g,"<"); - str = str.replace(/(Sin|Cos|Tan|Arcsin|Arccos|Arctan|Sinh|Cosh|Tanh|Cot|Sec|Csc|Log|Ln|Abs)/g, function(v) { return v.toLowerCase(); }); - frag = AMparseExpr(str.replace(/^\s+/g,""),false)[0]; - node = createMmlNode("mstyle",frag); - if (mathcolor != "") node.setAttribute("mathcolor",mathcolor); - if (mathfontfamily != "") node.setAttribute("fontfamily",mathfontfamily); - if (displaystyle) node.setAttribute("displaystyle","true"); - node = createMmlNode("math",node); - if (showasciiformulaonhover) //fixed by djhsu so newline - node.setAttribute("title",str.replace(/\s+/g," "));//does not show in Gecko + // some basic cleanup for dealing with stuff editors like TinyMCE adds + str = str.replace(/ /g, ''); + str = str.replace(/>/g, '>'); + str = str.replace(/</g, '<'); + str = str.replace( + /(Sin|Cos|Tan|Arcsin|Arccos|Arctan|Sinh|Cosh|Tanh|Cot|Sec|Csc|Log|Ln|Abs)/g, + function(v) { + return v.toLowerCase(); + }); + frag = AMparseExpr(str.replace(/^\s+/g, ''), false)[0]; + node = createMmlNode('mstyle', frag); + if (mathcolor != '') node.setAttribute('mathcolor', mathcolor); + if (mathfontfamily != '') node.setAttribute('fontfamily', mathfontfamily); + if (displaystyle) node.setAttribute('displaystyle', 'true'); + node = createMmlNode('math', node); + if (showasciiformulaonhover) // fixed by djhsu so newline + node.setAttribute( + 'title', str.replace(/\s+/g, ' ')); // does not show in Gecko return node; } function strarr2docFrag(arr, linebreaks, latex) { - var newFrag=document.createDocumentFragment(); + var newFrag = document.createDocumentFragment(); var expr = false; - for (var i=0; i,\\|!:;'~]|\\.(?!(?:\x20|$))|"+ambigAMtoken+englishAMtoken+simpleAMtoken; - var re = new RegExp("(^|\\s)((("+token+")\\s?)(("+token+secondenglishAMtoken+")\\s?)+)([,.?]?(?=\\s|$))","g"); - str = str.replace(re," `$2`$7"); + // formula is a space (or start of str) followed by a maximal sequence of + // *two* or more tokens, possibly separated by runs of digits and/or space. + // tokens are single letters (except a, A, I) and ASCIIMathML tokens + var texcommand = '\\\\[a-zA-Z]+|\\\\\\s|'; + var ambigAMtoken = + '\\b(?:oo|lim|ln|int|oint|del|grad|aleph|prod|prop|sinh|cosh|tanh|cos|sec|pi|tt|fr|sf|sube|supe|sub|sup|det|mod|gcd|lcm|min|max|vec|ddot|ul|chi|eta|nu|mu)(?![a-z])|'; + var englishAMtoken = '\\b(?:sum|ox|log|sin|tan|dim|hat|bar|dot)(?![a-z])|'; + var secondenglishAMtoken = + '|\\bI\\b|\\bin\\b|\\btext\\b'; // took if and or not out + var simpleAMtoken = + 'NN|ZZ|QQ|RR|CC|TT|AA|EE|sqrt|dx|dy|dz|dt|xx|vv|uu|nn|bb|cc|csc|cot|alpha|beta|delta|Delta|epsilon|gamma|Gamma|kappa|lambda|Lambda|omega|phi|Phi|Pi|psi|Psi|rho|sigma|Sigma|tau|theta|Theta|xi|Xi|zeta'; // uuu nnn? + var letter = '[a-zA-HJ-Z](?=(?:[^a-zA-Z]|$|' + ambigAMtoken + englishAMtoken + + simpleAMtoken + '))|'; + var token = letter + texcommand + + '\\d+|[-()[\\]{}+=*&^_%\\\@/<>,\\|!:;\'~]|\\.(?!(?:\x20|$))|' + + ambigAMtoken + englishAMtoken + simpleAMtoken; + var re = new RegExp( + '(^|\\s)(((' + token + ')\\s?)((' + token + secondenglishAMtoken + + ')\\s?)+)([,.?]?(?=\\s|$))', + 'g'); + str = str.replace(re, ' `$2`$7'); var arr = str.split(AMdelimiter1); - var re1 = new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+texcommand+ambigAMtoken+simpleAMtoken+")(\\s|\\n|$)","g"); - var re2 = new RegExp("(^|\\s)([a-z]|"+texcommand+ambigAMtoken+simpleAMtoken+")([,.])","g"); // removed |\d+ for now - for (i=0; i]|' + texcommand + ambigAMtoken + simpleAMtoken + + ')(\\s|\\n|$)', + 'g'); + var re2 = new RegExp( + '(^|\\s)([a-z]|' + texcommand + ambigAMtoken + simpleAMtoken + ')([,.])', + 'g'); // removed |\d+ for now + for (i = 0; i < arr.length; i++) // single nonenglish tokens + if (i % 2 == 0) { + arr[i] = arr[i].replace(re1, ' `$2`$3'); + arr[i] = arr[i].replace(re2, ' `$2`$3'); + arr[i] = arr[i].replace(/([{}[\]])/, '`$1`'); } str = arr.join(AMdelimiter1); - str = str.replace(/((^|\s)\([a-zA-Z]{2,}.*?)\)`/g,"$1`)"); //fix parentheses - str = str.replace(/`(\((a\s|in\s))(.*?[a-zA-Z]{2,}\))/g,"$1`$3"); //fix parentheses - str = str.replace(/\sin`/g,"` in"); - str = str.replace(/`(\(\w\)[,.]?(\s|\n|$))/g,"$1`"); - str = str.replace(/`([0-9.]+|e.g|i.e)`(\.?)/gi,"$1$2"); - str = str.replace(/`([0-9.]+:)`/g,"$1"); + str = str.replace(/((^|\s)\([a-zA-Z]{2,}.*?)\)`/g, '$1`)'); // fix + // parentheses + str = str.replace( + /`(\((a\s|in\s))(.*?[a-zA-Z]{2,}\))/g, '$1`$3'); // fix parentheses + str = str.replace(/\sin`/g, '` in'); + str = str.replace(/`(\(\w\)[,.]?(\s|\n|$))/g, '$1`'); + str = str.replace(/`([0-9.]+|e.g|i.e)`(\.?)/gi, '$1$2'); + str = str.replace(/`([0-9.]+:)`/g, '$1'); return str; } -function processNodeR(n, linebreaks,latex) { +function processNodeR(n, linebreaks, latex) { var mtch, str, arr, frg, i; if (n.childNodes.length == 0) { - if ((n.nodeType!=8 || linebreaks) && - n.parentNode.nodeName!="form" && n.parentNode.nodeName!="FORM" && - n.parentNode.nodeName!="textarea" && n.parentNode.nodeName!="TEXTAREA" /*&& + if ((n.nodeType!=8 || linebreaks) && + n.parentNode.nodeName!='form' && n.parentNode.nodeName!='FORM' && + n.parentNode.nodeName!='textarea' && n.parentNode.nodeName!='TEXTAREA' /*&& n.parentNode.nodeName!="pre" && n.parentNode.nodeName!="PRE"*/) { - str = n.nodeValue; - if (!(str == null)) { - str = str.replace(/\r\n\r\n/g,"\n\n"); - str = str.replace(/\x20+/g," "); - str = str.replace(/\s*\r\n/g," "); - if(latex) { -// DELIMITERS: - mtch = (str.indexOf("\$")==-1 ? false : true); - str = str.replace(/([^\\])\$/g,"$1 \$"); - str = str.replace(/^\$/," \$"); // in case \$ at start of string - arr = str.split(" \$"); - for (i=0; i1 || mtch) { - if (!noMathML) { - frg = strarr2docFrag(arr,n.nodeType==8,latex); - var len = frg.childNodes.length; - n.parentNode.replaceChild(frg,n); - return len-1; - } else return 0; + str = n.nodeValue; + if (!(str == null)) { + str = str.replace(/\r\n\r\n/g, '\n\n'); + str = str.replace(/\x20+/g, ' '); + str = str.replace(/\s*\r\n/g, ' '); + if (latex) { + // DELIMITERS: + mtch = (str.indexOf('\$') == -1 ? false : true); + str = str.replace(/([^\\])\$/g, '$1 \$'); + str = str.replace(/^\$/, ' \$'); // in case \$ at start of string + arr = str.split(' \$'); + for (i = 0; i < arr.length; i++) + arr[i] = arr[i].replace(/\\\$/g, '\$'); + } else { + mtch = false; + str = str.replace(new RegExp(AMescape1, 'g'), function() { + mtch = true; + return 'AMescape1' + }); + str = str.replace(/\\?end{?a?math}?/i, function() { + automathrecognize = false; + mtch = true; + return '' + }); + str = str.replace(/amath\b|\\begin{a?math}/i, function() { + automathrecognize = true; + mtch = true; + return '' + }); + arr = str.split(AMdelimiter1); + if (automathrecognize) + for (i = 0; i < arr.length; i++) + if (i % 2 == 0) arr[i] = AMautomathrec(arr[i]); + str = arr.join(AMdelimiter1); + arr = str.split(AMdelimiter1); + for (i = 0; i < arr.length; i++) // this is a problem ************ + arr[i] = arr[i].replace(/AMescape1/g, AMdelimiter1); + } + if (arr.length > 1 || mtch) { + if (!noMathML) { + frg = strarr2docFrag(arr, n.nodeType == 8, latex); + var len = frg.childNodes.length; + n.parentNode.replaceChild(frg, n); + return len - 1; + } else + return 0; + } } - } - } else return 0; - } else if (n.nodeName!="math") { - for (i=0; i -... **will render as:** +... **will render as:** ~~~~~ diff --git a/docs/spec/variable.descriptions.md b/docs/spec/variable.descriptions.md index bc638011..73a31dca 100644 --- a/docs/spec/variable.descriptions.md +++ b/docs/spec/variable.descriptions.md @@ -288,7 +288,3 @@ * prediction_degree_ * Array of current degree prediction for each vertex * constrained_multi_num_flags - - - - diff --git a/docs/unity/UNITY.md b/docs/unity/UNITY.md new file mode 100644 index 00000000..37dad7c3 --- /dev/null +++ b/docs/unity/UNITY.md @@ -0,0 +1,265 @@ +# Draco Unity Integration Guide + +This document walks through the process of building Draco for Unity, and +creating a Unity project that uses Draco to decode a .drc file. + +[TOC] + +## Building Draco for Unity + +All of the steps here assume that you're familiar with running build tools for +the target of your choice, and that you have your system configured correctly to +use those build tools. + +Basic prerequisites for these builds: +- All platforms require CMake. +- For Android: a recent NDK. +- For iOS and MacOS: a recent Xcode release. +- For Windows: a recent Visual Studio release. + +### Android + +These instructions are armeabi-v7a and arm64-v8a Android builds. + +#### armv7 + +``` bash +$ cd path/to/draco +$ export CMAKE_ANDROID_NDK=path/to/ndk +$ mkdir armeabi-v7a && cd armeabi-v7a +$ cmake ../ \ + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/armv7-android-ndk-libcpp.cmake \ + -DDRACO_UNITY_PLUGIN=ON +$ make -j +``` + +#### arm64 + +``` bash +$ cd path/to/draco +$ export CMAKE_ANDROID_NDK=path/to/ndk +$ mkdir arm64-v8a && cd arm64-v8a +$ cmake ../ \ + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/arm64-android-ndk-libcpp.cmake \ + -DDRACO_UNITY_PLUGIN=ON +$ make -j +``` + +### iOS + +These instructions build unsigned Draco targets and produce a fat libdraco.a +that includes Draco support for armv7, armv7s, and arm64 iOS. + +``` bash +$ cmake path/to/draco -G Xcode \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CONFIGURATION_TYPES=Release \ + -DCMAKE_SYSTEM_NAME=iOS \ + -DCMAKE_OSX_ARCHITECTURES=armv7\;armv7s\;arm64 \ + -DCMAKE_XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH=NO \ + -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 \ + -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=NO \ + -DCMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY="" \ + -DDRACO_UNITY_PLUGIN=1 + +$ xcodebuild + +# Build outputs are the Release-iphoneos directory. +``` + +### MacOS + +``` bash +$ cd path/to/draco +$ mkdir build_unity_xcode +$ cd build_unity_xcode +$ cmake .. -G Xcode \ + -DDRACO_UNITY_PLUGIN=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CONFIGURATION_TYPES=Release +$ xcodebuild + +# Build outputs are in the Release directory. +``` + +### Windows + +These instructions use Visual Studio 16 2019. Configuration for older versions +of Visual Studio is different. Consult CMake documentation for information on +configuring for your version of Visual Studio. + +#### Win32 + +``` bash +$ cd path/to/draco +$ mkdir build_unity_win32 +$ cd build_unity_win32 +$ cmake ../ -G "Visual Studio 16 2019" -A Win32 -DDRACO_UNITY_PLUGIN=ON +$ cmake --build . --config Release --target install -- /M:36 + +# Build outputs are in the Release directory. +``` + +#### Win64 + +``` bash +$ cd path/to/draco +$ mkdir build_unity_win64 +$ cd build_unity_win64 +$ cmake ../ -G "Visual Studio 16 2019" -A x64 -DDRACO_UNITY_PLUGIN=ON +$ cmake --build . --config Release --target install -- /M:36 + +# Build outputs are in the Release directory. +``` + +## Testing Draco in Unity + +### 1. Create the Project + +Open Unity Hub and create a new project. Name it DracoDemo. + +The following two images are taken from Unity Hub for Windows, but the steps are +the same on other platforms. + +![Open Unity Hub](images/new_project_windows_1.png "Unity Hub") + +Click “New” Button, which opens create new project dialog box + +![Create new Unity project](images/new_project_windows_2.png "Create Project") + +Click the `Create` button to create the project. + +***TIP***: The shell commands in the next step are much less tedious if you +create the project in a sibling directory of the Draco repository. + +### 2. Copy in the Draco files + +Run these commands in the shell of your choice to place Draco files where Unity +can load them. + +``` bash +# These commands assume you created the project in a sibling directory of the +# Draco repository. If your project is stored elsewhere you'll need to use +# absolute paths. + +$ cd path/to/draco +$ mkdir -p ../DracoDemo/Assets/Plugins +$ cp unity/Plugin/dracodec_unity.dll ../DracoDemo/Assets/Plugins/ +$ cp unity/DracoMeshLoader.cs ../DracoDemo/Assets/ +$ cp unity/DracoDecodingObject.cs ../DracoDemo/Assets/ +$ mkdir -p ../DracoDemo/Assets/Resources +$ cp javascript/example/models/bunny.drc \ + ../DracoDemo/Assets/Resources/bunny.drc.bytes +``` + +### 3. Connect the Draco decoder in Unity + +##### A. Allow unsafe code in the player settings + +The image examples here are from Windows. The MacOS version of Unity differs +in appearance, but the field names and values remain the same. + +![Open project settings](images/allow_unsafe_windows_1.png "Edit -> Project Settings (Windows)") +![Allow unsafe code](images/allow_unsafe_windows_2.png "Allow unsafe code (Windows)") + +##### B. Add Draco to the Unity project + +The first step is to create an empty game object. Here's what that looks like on +Windows. The MacOS version of Unity is very similar. + +![Create empty game object](images/create_empty_game_object_windows.png "GameObject -> Create Empty") +![Empty Unity project](images/unity_empty.png "Empty Unity project") + +##### C. Attach the DracoDecodingObject.cs script to the game object. + +Do one of the following: + +* Drag the script asset to a GameObject in the hierarchy panel, or +* Drag it to the inspector of the GameObject that is currently selected. + +![Attach decode script to game object](images/attach_draco_decode_object.png "Game object inspector") + +##### D. Reposition the camera + +Change Main Camera’s position to 0,0,-1. + +![Set camera position](images/set_camera_position.png "Camera positioning") + + +##### E. Add a Mesh Filter component to the GameObject + +![Add component](images/add_component.png "Add component") + +![Add mesh filter](images/add_mesh_filter_component.png "Add mesh") + +![Mesh filter added](images/mesh_filter_added.png "Mesh filter added") + +##### F. Add a Mesh Renderer component to the GameObject + +![Add component](images/add_component.png "Add component") + +![Add mesh renderer](images/add_mesh_renderer_component.png "Add mesh renderer") + +![Mesh renderer added](images/mesh_renderer_added.png "Mesh renderer added") + + +##### G. Play your project + +The integration basics are completed, and you should see a pink bunny when you +play the project. + +![Pink bunny](images/pink_bunny.png "Pink bunny") + + +### 5. Add Materials to Your Mesh + +##### A. Pick a Material for the Mesh Renderer. + +![Add material](images/add_material.png "Add material") + +##### B. Select a material. + +![Select material](images/select_material.png "Select material") + +![Default material](images/default_material.png "Default material") + +##### C. Play your project + +Play it again: you should see a black bunny now. + +***Don't panic***: Newer versions of Unity have lighting by default. Your bunny might +already look like the lighted version in the next step. + +![Black bunny](images/black_bunny.png "Black bunny") + + +### 6. Add a light + +In the most recent Unity releases this step isn't necessary because scenes have +a light by default, but this is how to do that if your Unity installation is +older or behaves differently. + +##### A. Add and position the light + +![Add light](images/add_light.png "Add light") +![Light Position](images/light_position.png "Light Position") + +##### B. Play your project + +Play it again: you should see a lit bunny now. + +![Lit bunny](images/lit_bunny.png "Lit bunny") +“Play” your project. You should see a lit bunny. + + +### 7. Extras + +Rotate your bunny. + +Add the following code to `DracoDecodingObject.cs`: + +``` c# +void Update() { + transform.Rotate(0, 30 * Time.deltaTime, 0); +} +``` diff --git a/docs/unity/images/add_component.png b/docs/unity/images/add_component.png new file mode 100644 index 0000000000000000000000000000000000000000..8a50b2cbb7e35c0670e24282d68208bc9c558f34 GIT binary patch literal 20304 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∾M0Jq>mxZ_BP5n5rX%38HGn}QW`YuL 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 Z@dk;1yj7nC_7a6tme-K0k}(bYzW_K}74QH6 literal 0 HcmV?d00001 diff --git a/docs/unity/images/add_material.png b/docs/unity/images/add_material.png new file mode 100644 index 0000000000000000000000000000000000000000..4fb26502714a2553bf04983f4dd216bdf8eb54e6 GIT binary patch literal 23659 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 bmsdkqMC$NB-&hbLeoaO3+2b+=v!MS0U#*_S literal 0 HcmV?d00001 diff --git a/docs/unity/images/add_mesh_filter_component.png b/docs/unity/images/add_mesh_filter_component.png new file mode 100644 index 0000000000000000000000000000000000000000..2adc2ffd939537076311d3a3c44723e324b193d1 GIT binary patch literal 17065 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 FgIx+euS{M*H-#%of+Ztzbkl_C4pVvDds- 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

<23v8icB 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

#* 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 literal 0 HcmV?d00001 diff --git a/docs/unity/images/attach_draco_decode_object.png b/docs/unity/images/attach_draco_decode_object.png new file mode 100644 index 0000000000000000000000000000000000000000..171c32638ede5273c8452c01001092d560c04a59 GIT binary patch literal 19449 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 literal 0 HcmV?d00001 diff --git a/docs/unity/images/black_bunny.png b/docs/unity/images/black_bunny.png new file mode 100644 index 0000000000000000000000000000000000000000..821be9677439b47bf2c6fe16a5cbfff3f89e716c GIT binary patch literal 71780 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 X&lmKc6{2^I0SG)@{an^LB{Ts5#g(N~ literal 0 HcmV?d00001 diff --git a/docs/unity/images/create_empty_game_object_windows.png b/docs/unity/images/create_empty_game_object_windows.png new file mode 100644 index 0000000000000000000000000000000000000000..610a6e14429ce8183e1efe38842111646e35eb0c GIT binary patch literal 60324 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 Hrh)$l>&z&- literal 0 HcmV?d00001 diff --git a/docs/unity/images/default_material.png b/docs/unity/images/default_material.png new file mode 100644 index 0000000000000000000000000000000000000000..c39797290dc8abd5634890948f49392da3ee761a GIT binary patch literal 11177 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 JD`d?-{U40fTJHb= literal 0 HcmV?d00001 diff --git a/docs/unity/images/light_position.png b/docs/unity/images/light_position.png new file mode 100644 index 0000000000000000000000000000000000000000..c10be86cca8afd9f948f4c9cd099424ed7abc1f3 GIT binary patch literal 142287 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 z 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%0Da1HuxF*H&b)53=qrWYU3+KP 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

0SVYOtPj{Cnvf(?7)>7lopaz4 z?7)CQ!2(#V=!eW0THYGKygDIp4eiPW7~t1Rbx6asG6&yBl?b{iiXcf%Yq&Kp`$Na* z@{a{xr8!#TA6zhsvOd~q75^zV3m77tHZ(IIMUsl)+*?0yEQNWvYyKsY|DQ0 RpAZcE80eT1A80v8|37MX7L@=1 literal 0 HcmV?d00001 diff --git a/docs/unity/images/lit_bunny.png b/docs/unity/images/lit_bunny.png new file mode 100644 index 0000000000000000000000000000000000000000..e2122ce79c22201810fe0b87200ee070d4cd7cac GIT binary patch literal 127503 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%0AmN0&#Npua3;@g~v%89{PPJ<{3L@;txx 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 z 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 bdnD~ClWRP3+rT#}l8`9fP?gWSX6pZc4OPWE literal 0 HcmV?d00001 diff --git a/docs/unity/images/mesh_filter_added.png b/docs/unity/images/mesh_filter_added.png new file mode 100644 index 0000000000000000000000000000000000000000..7e3b3496ae32ac68fe65422c359338fbb5b5e36c GIT binary patch literal 11430 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 D5ZnME literal 0 HcmV?d00001 diff --git a/docs/unity/images/mesh_renderer_added.png b/docs/unity/images/mesh_renderer_added.png new file mode 100644 index 0000000000000000000000000000000000000000..e32f7a2174d11dc9094acc13a545b3c7034d25d2 GIT binary patch literal 32391 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 literal 0 HcmV?d00001 diff --git a/docs/unity/images/new_project_windows_1.png b/docs/unity/images/new_project_windows_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bf8db9c7d2fe9c2435708675992306954297ba44 GIT binary patch literal 57976 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%0D4FxGcoKHa*CAek_g6!X7@=slg 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 R@)>yDky4b*l6d&?e*t=^F-ZUb literal 0 HcmV?d00001 diff --git a/docs/unity/images/new_project_windows_2.png b/docs/unity/images/new_project_windows_2.png new file mode 100644 index 0000000000000000000000000000000000000000..714aa8e90fba5a05a8cd4983986dcbf298f07fb8 GIT binary patch literal 27051 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 TvH-qdX~}-Q1G)@_|;P8?2-uK?~{g^*J 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 literal 0 HcmV?d00001 diff --git a/docs/unity/images/unity_empty.png b/docs/unity/images/unity_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..a1deb11b9a853aeb4cbbf3eaec466e34427c4229 GIT binary patch literal 25743 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 literal 0 HcmV?d00001 diff --git a/javascript/draco_decoder.js b/javascript/draco_decoder.js index 1aa9ed19..43f0c46d 100644 --- a/javascript/draco_decoder.js +++ b/javascript/draco_decoder.js @@ -6,29 +6,29 @@ var DracoDecoderModule = (function() { function(DracoDecoderModule) { DracoDecoderModule = DracoDecoderModule || {}; -var Module=typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:{};var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};Module["onModuleParsed"]=function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}};function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function convertJsFunctionToWasm(func,sig){return func}function addFunctionWasm(func,sig){var table=wasmTable;var ret=table.length;try{table.grow(1)}catch(err){if(!err instanceof RangeError){throw err}throw"Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."}try{table.set(ret,func)}catch(err){if(!err instanceof TypeError){throw err}assert(typeof sig!=="undefined","Missing signature argument to addFunction");var wrapped=convertJsFunctionToWasm(func,sig);table.set(ret,wrapped)}return ret}function removeFunctionWasm(index){}var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];var WebAssembly={Memory:function(opts){return{buffer:new ArrayBuffer(opts["initial"]*65536),grow:function(amount){var ret=__growWasmMemory(amount);return ret}}},Table:function(opts){var ret=new Array(opts["initial"]);ret.grow=function(by){if(ret.length>=381+0){abort("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH.")}ret.push(null)};ret.set=function(i,func){ret[i]=func};ret.get=function(i){return ret[i]};return ret},Module:function(binary){return{}},Instance:function(module,info){var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function convertJsFunctionToWasm(func,sig){return func}var freeTableIndexes=[];var functionsInTableMap;function addFunctionWasm(func,sig){var table=wasmTable;if(!functionsInTableMap){functionsInTableMap=new WeakMap;for(var i=0;i>2]=0;q[c>>2]=0;q[c+4>>2]=0;d=dm(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){f=d+16&-16;e=Mm(f);q[c+8>>2]=f|-2147483648;q[c>>2]=e;q[c+4>>2]=d;break b}o[c+11|0]=d;e=c;if(!d){break a}}Cn(e,b,d)}o[d+e|0]=0;a=ga(a,c);if(o[c+11|0]<=-1){An(q[c>>2])}T=c+16|0;return(a|0)!=0}Pm();F()}function ga(a,b){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=q[a+4>>2];if(a){h=r[b+11|0];i=h<<24>>24<0;h=i?q[b+4>>2]:h;l=i?q[b>>2]:b;while(1){b=a+16|0;g=r[a+27|0];i=g<<24>>24<0;j=i?q[a+20>>2]:g;m=j>>>0>>0;a:{b:{c:{d:{e:{f:{g=m?j:h;if(g){k=i?q[b>>2]:b;n=cm(l,k,g);if(n){break f}}if(h>>>0>>0){break a}if(!g){break d}k=i?q[b>>2]:b;break e}if((n|0)<=-1){break a}}b=cm(k,l,g);if(b){break c}}if(m){break b}return 1}if((b|0)<=-1){break b}return 1}a=a+4|0}a=q[a>>2];if(a){continue}break}}return 0}function ha(a,b){var p=0,r=0,s=0,t=0;p=T-16|0;T=p;q[p+12>>2]=0;q[p+8>>2]=0;q[p>>2]=0;q[p+4>>2]=0;r=dm(b);if(r>>>0<4294967280){a:{b:{if(r>>>0>=11){t=r+16&-16;s=Mm(t);q[p+8>>2]=t|-2147483648;q[p>>2]=s;q[p+4>>2]=r;break b}o[p+11|0]=r;s=p;if(!r){break a}}Cn(s,b,r)}o[r+s|0]=0;Vk(a,p,p+12|0);a=q[p+12>>2];if(o[p+11|0]<=-1){An(q[p>>2])}T=p+16|0;return a}Pm();F()}function ia(a,b,u){var v=0,w=0,x=0,y=0;v=T-32|0;T=v;q[v+24>>2]=0;q[v+16>>2]=0;q[v+20>>2]=0;w=dm(b);if(w>>>0<4294967280){a:{b:{if(w>>>0>=11){y=w+16&-16;x=Mm(y);q[v+24>>2]=y|-2147483648;q[v+16>>2]=x;q[v+20>>2]=w;break b}o[v+27|0]=w;x=v+16|0;if(!w){break a}}Cn(x,b,w)}o[w+x|0]=0;q[v+8>>2]=0;q[v>>2]=0;q[v+4>>2]=0;Wk(a,v+16|0,v);a=q[u>>2];if(a){q[u+4>>2]=a;An(a);q[u+8>>2]=0;q[u>>2]=0;q[u+4>>2]=0}q[u>>2]=q[v>>2];q[u+4>>2]=q[v+4>>2];q[u+8>>2]=q[v+8>>2];if(o[v+27|0]<=-1){An(q[v+16>>2])}T=v+32|0;return}Pm();F()}function ja(a,b){var u=0,z=0,A=0,B=0,C=0;u=T-32|0;T=u;q[u+24>>2]=0;q[u+28>>2]=0;q[u+16>>2]=0;q[u+8>>2]=0;q[u+12>>2]=0;z=dm(b);if(z>>>0<4294967280){a:{b:{if(z>>>0>=11){B=z+16&-16;A=Mm(B);q[u+16>>2]=B|-2147483648;q[u+8>>2]=A;q[u+12>>2]=z;break b}o[u+19|0]=z;A=u+8|0;if(!z){break a}}Cn(A,b,z)}o[z+A|0]=0;Xk(a,u+8|0,u+24|0);C=v[u+24>>3];if(o[u+19|0]<=-1){An(q[u+8>>2])}T=u+32|0;return C}Pm();F()}function ka(a,b,D){var E=0,G=0,H=0,I=0;E=T-16|0;T=E;q[E+8>>2]=0;q[E>>2]=0;q[E+4>>2]=0;G=dm(D);if(G>>>0<4294967280){a:{b:{if(G>>>0>=11){I=G+16&-16;H=Mm(I);q[E+8>>2]=I|-2147483648;q[E>>2]=H;q[E+4>>2]=G;break b}o[E+11|0]=G;H=E;if(!G){break a}}Cn(H,D,G)}o[G+H|0]=0;a=a+16|0;D=0;c:{if(!Yk(b,E,a)){break c}D=q[a>>2];if(o[a+11|0]<=-1){break c}D=a}if(o[E+11|0]<=-1){An(q[E>>2])}T=E+16|0;return D}Pm();F()}function la(a,b,D){var F=0,J=0,K=0,L=0;a:{if(q[a+12>>2]==(b|0)){break a}F=q[a>>2];K=a+4|0;J=q[K>>2];if((F|0)!=(J|0)){while(1){L=J+ -12|0;if(o[J+ -1|0]<=-1){An(q[L>>2])}J=L;if((J|0)!=(F|0)){continue}break}}q[a+12>>2]=b;q[K>>2]=F;J=q[b>>2];K=b+4|0;if((J|0)==(K|0)){break a}L=a+8|0;while(1){b=J+16|0;b:{if(q[L>>2]!=(F|0)){Rm(F,b);b=a+4|0;q[b>>2]=q[b>>2]+12;break b}ma(a,b)}F=q[J+4>>2];c:{if(!F){b=q[J+8>>2];if(q[b>>2]==(J|0)){break c}J=J+8|0;while(1){F=q[J>>2];J=F+8|0;b=q[F+8>>2];if((F|0)!=q[b>>2]){continue}break}break c}while(1){b=F;F=q[F>>2];if(F){continue}break}}if((b|0)==(K|0)){break a}F=q[a+4>>2];J=b;continue}}F=0;d:{if((D|0)<0){break d}b=q[a+4>>2];a=q[a>>2];if((b-a|0)/12>>>0<=D>>>0){break d}F=a+w(D,12)|0;if(o[F+11|0]>-1){break d}F=q[F>>2]}return F}function ma(a,b){var D=0,M=0,N=0,O=0,P=0;a:{b:{c:{N=q[a>>2];P=(q[a+4>>2]-N|0)/12|0;D=P+1|0;if(D>>>0<357913942){N=(q[a+8>>2]-N|0)/12|0;O=N<<1;D=N>>>0<178956970?O>>>0>>0?D:O:357913941;M=0;d:{if(!D){break d}if(D>>>0>=357913942){break c}M=Mm(w(D,12))}N=M+w(D,12)|0;b=Rm(M+w(P,12)|0,b);P=b+12|0;D=q[a+4>>2];M=q[a>>2];if((D|0)==(M|0)){break b}while(1){D=D+ -12|0;O=q[D+4>>2];b=b+ -12|0;q[b>>2]=q[D>>2];q[b+4>>2]=O;O=D+8|0;q[b+8>>2]=q[O>>2];q[D>>2]=0;q[D+4>>2]=0;q[O>>2]=0;if((D|0)!=(M|0)){continue}break}M=q[a+4>>2];D=q[a>>2];break a}bn();F()}ab(1040);F()}D=M}q[a>>2]=b;q[a+8>>2]=N;q[a+4>>2]=P;if((D|0)!=(M|0)){while(1){a=M+ -12|0;if(o[M+ -1|0]<=-1){An(q[a>>2])}M=a;if((a|0)!=(D|0)){continue}break}}if(D){An(D)}}function na(a){var b=0;ck(a);b=a+16|0;q[b>>2]=0;q[b+4>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0;q[a+12>>2]=b;q[a+32>>2]=0;q[a+36>>2]=0;return a}function oa(a){var Q=0;Q=T-32|0;T=Q;hh(Q+8|0,a);a=q[Q+24>>2];if(o[Q+23|0]<=-1){An(q[Q+12>>2])}T=Q+32|0;return a}function pa(a,R,S){var U=0;U=T-16|0;T=U;ih(U,a,R,S);q[a+24>>2]=q[U>>2];Tm(a+28|0,U|4);a=a+24|0;if(o[U+15|0]<=-1){An(q[U+4>>2])}T=U+16|0;return a}function qa(a,R,S){var V=0;V=T-16|0;T=V;jh(V,a,R,S);q[a+24>>2]=q[V>>2];Tm(a+28|0,V|4);a=a+24|0;if(o[V+15|0]<=-1){An(q[V+4>>2])}T=V+16|0;return a}function ra(a,R){var S=0,W=0,X=0,Y=0;S=T-32|0;T=S;q[S+24>>2]=0;q[S+16>>2]=0;q[S+20>>2]=0;W=dm(R);if(W>>>0<4294967280){a:{b:{if(W>>>0>=11){Y=W+16&-16;X=Mm(Y);q[S+24>>2]=Y|-2147483648;q[S+16>>2]=X;q[S+20>>2]=W;break b}o[S+27|0]=W;X=S+16|0;if(!W){break a}}Cn(X,R,W)}o[W+X|0]=0;q[S+8>>2]=67108864;q[S>>2]=0;q[S+4>>2]=0;o[S+4|0]=0;q[S>>2]=1701667182;W=q[a+4>>2];R=-1;c:{if(!W){break c}W=Pk(W,S,S+16|0);R=-1;if(!W){break c}R=el(a,q[W+24>>2])}if(o[S+11|0]<=-1){An(q[S>>2])}if(o[S+27|0]<=-1){An(q[S+16>>2])}T=S+32|0;return R}Pm();F()}function sa(a,R,Z){var _=0,$=0,aa=0,ba=0;_=T-32|0;T=_;q[_+24>>2]=0;q[_+16>>2]=0;q[_+20>>2]=0;a:{ba=dm(R);if(ba>>>0<4294967280){b:{c:{if(ba>>>0>=11){$=ba+16&-16;aa=Mm($);q[_+24>>2]=$|-2147483648;q[_+16>>2]=aa;q[_+20>>2]=ba;break c}o[_+27|0]=ba;aa=_+16|0;if(!ba){break b}}Cn(aa,R,ba)}o[aa+ba|0]=0;q[_+8>>2]=0;q[_>>2]=0;q[_+4>>2]=0;$=dm(Z);if($>>>0>=4294967280){break a}d:{e:{if($>>>0>=11){R=$+16&-16;aa=Mm(R);q[_+8>>2]=R|-2147483648;q[_>>2]=aa;q[_+4>>2]=$;break e}o[_+11|0]=$;aa=_;if(!$){break d}}Cn(aa,Z,$)}o[$+aa|0]=0;Z=q[a+4>>2];R=-1;f:{if(!Z){break f}Z=Pk(Z,_+16|0,_);R=-1;if(!Z){break f}R=el(a,q[Z+24>>2])}a=R;if(o[_+11|0]<=-1){An(q[_>>2])}if(o[_+27|0]<=-1){An(q[_+16>>2])}T=_+32|0;return a}Pm();F()}Pm();F()}function ta(a,o,R){var Z=0,ca=0,da=0;Z=T-16|0;T=Z;ca=q[a+96>>2];q[Z+8>>2]=0;q[Z>>2]=0;q[Z+4>>2]=0;a=Mm(12);q[Z>>2]=a;q[Z+4>>2]=a;da=a+12|0;q[Z+8>>2]=da;ca=Cn(a,ca+w(o,12)|0,12)+12|0;q[Z+4>>2]=ca;o=q[R>>2];if(o){q[R+4>>2]=o;An(o);q[R+8>>2]=0;q[R>>2]=0;q[R+4>>2]=0}q[R>>2]=a;q[R+8>>2]=da;q[R+4>>2]=ca;T=Z+16|0;return 1}function ua(a,o){var R=0,ea=0;R=T-96|0;T=R;Dn(R+16|0,0,76);q[R+92>>2]=-1;q[R+8>>2]=0;q[R>>2]=0;q[R+4>>2]=0;a:{if(va(R+16|0,a,R)){a=q[o>>2];if(a){q[o+4>>2]=a;An(a);q[o+8>>2]=0;q[o>>2]=0;q[o+4>>2]=0}q[o>>2]=q[R>>2];q[o+4>>2]=q[R+4>>2];q[o+8>>2]=q[R+8>>2];q[R+8>>2]=0;q[R>>2]=0;q[R+4>>2]=0;ea=q[R+84>>2];break a}a=q[R>>2];if(!a){break a}q[R+4>>2]=a;An(a)}a=q[R+72>>2];if(a){An(a)}a=q[R+48>>2];if(a){q[R+52>>2]=a;An(a)}a=q[R+36>>2];if(a){q[R+40>>2]=a;An(a)}a=q[R+24>>2];if(a){q[R+28>>2]=a;An(a)}a=q[R+20>>2];q[R+20>>2]=0;if(a){wa(R+16|4,a)}T=R+96|0;return ea}function va(a,o,fa){var ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ja=T-16|0;T=ja;a:{if(!xa(a,o)){break a}ia=1;ha=q[o+96>>2];oa=o+100|0;ga=q[oa>>2];if((ha|0)==(ga|0)){break a}pa=a+12|0;qa=a+24|0;ra=a+36|0;na=fa+8|0;la=fa+4|0;while(1){if(!(q[q[a+56>>2]+(ma>>>3&536870908)>>2]>>>(ma&31)&1)){ia=w(ma,3);Jk(a,0,ia);sa=q[pa>>2];ka=q[a+8>>2];Jk(a,1,ia+1|0);ha=q[qa>>2];ga=q[a+20>>2];Jk(a,2,ia+2|0);ia=ha-ga>>2;ha=sa-ka|0;ga=ha>>2;ka=ia>>>0>ga>>>0;ka=q[ra>>2]-q[a+32>>2]>>2>>>0>(ka?ia:ga)>>>0?2:ka?1:ha?0:-1;b:{if(q[a+68>>2]<1){break b}ga=q[a+76>>2];q[ja+12>>2]=ga;ha=q[la>>2];c:{if(ha>>>0>2]){q[ha>>2]=ga;q[la>>2]=ha+4;break c}ya(fa,ja+12|0)}ga=ja;ia=q[((ka<<2)+a|0)+44>>2];ha=-1;d:{if((ia|0)<0){break d}ha=(ia>>>0)/3|0;ha=q[(q[q[a>>2]+96>>2]+w(ha,12)|0)+(ia-w(ha,3)<<2)>>2]}q[ga+8>>2]=ha;ga=q[la>>2];e:{if(ga>>>0>2]){q[ga>>2]=ha;q[la>>2]=ga+4;break e}ya(fa,ja+8|0)}ga=q[a+72>>2]+2|0;q[a+72>>2]=ga;if(!(ga&1)){break b}q[ja+4>>2]=ha;ga=q[la>>2];f:{if(ga>>>0>2]){q[ga>>2]=ha;q[la>>2]=ga+4;break f}ya(fa,ja+4|0)}q[a+72>>2]=q[a+72>>2]+1}za(a,ka,fa);ha=q[o+96>>2];ga=q[oa>>2]}ia=1;ma=ma+1|0;if(ma>>>0<(ga-ha|0)/12>>>0){continue}break}}T=ja+16|0;return ia}function wa(a,o){if(o){a=q[o+76>>2];if(a){q[o+80>>2]=a;An(a)}a=q[o- -64>>2];if(a){q[o+68>>2]=a;An(a)}a=q[o+48>>2];if(a){q[o+52>>2]=a;An(a)}a=q[o+24>>2];if(a){q[o+28>>2]=a;An(a)}a=q[o+12>>2];if(a){q[o+16>>2]=a;An(a)}a=q[o>>2];if(a){q[o+4>>2]=a;An(a)}An(o)}}function xa(a,fa){var ta=0,ua=0,va=0;ta=T-16|0;T=ta;q[a+68>>2]=0;q[a+72>>2]=0;q[a>>2]=fa;Ik(ta+8|0,fa);ua=q[ta+8>>2];q[ta+8>>2]=0;va=q[a+4>>2];q[a+4>>2]=ua;a:{if(!va){q[ta+8>>2]=0;break a}ua=a+4|0;wa(ua,va);va=q[ta+8>>2];q[ta+8>>2]=0;if(va){wa(ta+8|0,va)}ua=q[ua>>2]}if(ua){ua=q[fa+100>>2];fa=q[fa+96>>2];o[ta+7|0]=0;bb(a+56|0,(ua-fa|0)/12|0,ta+7|0);a=1}else{a=0}T=ta+16|0;return a}function ya(a,o){var T=0,fa=0,wa=0,xa=0,ya=0,za=0;a:{wa=q[a>>2];ya=q[a+4>>2]-wa|0;T=ya>>2;fa=T+1|0;if(fa>>>0<1073741824){za=T<<2;T=q[a+8>>2]-wa|0;xa=T>>1;fa=T>>2>>>0<536870911?xa>>>0>>0?fa:xa:1073741823;T=0;b:{if(!fa){break b}if(fa>>>0>=1073741824){break a}T=Mm(fa<<2)}xa=za+T|0;q[xa>>2]=q[o>>2];o=T+(fa<<2)|0;fa=xa+4|0;if((ya|0)>=1){Cn(T,wa,ya)}q[a>>2]=T;q[a+8>>2]=o;q[a+4>>2]=fa;if(wa){An(wa)}return}bn();F()}ab(1040);F()}function za(a,o,Aa){var Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;Da=T-16|0;T=Da;q[a+68>>2]=q[a+68>>2]+1;Ba=w(o,12)+a|0;Ba=q[Ba+12>>2]-q[Ba+8>>2]|0;if((Ba|0)>=1){Ia=Ba>>2;Ba=q[((o<<2)+a|0)+44>>2];Ga=Aa+8|0;Ea=Aa+4|0;while(1){o=Ba;Fa=(Ba>>>0)/3|0;Ba=(Ba|0)==-1?-1:Fa;Ca=q[a+56>>2]+(Ba>>>3&536870908)|0;q[Ca>>2]=q[Ca>>2]|1<<(Ba&31);q[a+72>>2]=q[a+72>>2]+1;a:{b:{if(!Ha){Ba=(o|0)<0?-1:q[(q[q[a>>2]+96>>2]+w(Fa,12)|0)+((o>>>0)%3<<2)>>2];q[Da+12>>2]=Ba;Ca=q[Ea>>2];c:{if(Ca>>>0>2]){q[Ca>>2]=Ba;q[Ea>>2]=Ca+4;break c}ya(Aa,Da+12|0)}Ba=-1;d:{if((o|0)==-1){break d}Ca=o+1|0;Ca=(Ca>>>0)%3|0?Ca:o+ -2|0;if((Ca|0)<0){break d}Ba=(Ca>>>0)/3|0;Ba=q[(q[q[a>>2]+96>>2]+w(Ba,12)|0)+(Ca-w(Ba,3)<<2)>>2]}q[Da+12>>2]=Ba;Ca=q[Ea>>2];e:{if(Ca>>>0>2]){q[Ca>>2]=Ba;q[Ea>>2]=Ca+4;break e}ya(Aa,Da+12|0)}Ca=a;Ba=-1;f:{if((o|0)==-1){break f}Fa=((o>>>0)%3|0?-1:2)+o|0;Ba=-1;if((Fa|0)<0){break f}Ba=(Fa>>>0)/3|0;Ba=q[(q[q[a>>2]+96>>2]+w(Ba,12)|0)+(Fa-w(Ba,3)<<2)>>2]}q[Ca+76>>2]=Ba;q[Da+12>>2]=Ba;Ca=q[Ea>>2];if(Ca>>>0>2]){q[Ca>>2]=Ba;q[Ea>>2]=Ca+4;break b}ya(Aa,Da+12|0);break b}Ba=(o|0)<0?-1:q[(q[q[a>>2]+96>>2]+w(Fa,12)|0)+((o>>>0)%3<<2)>>2];q[a+76>>2]=Ba;q[Da+12>>2]=Ba;Ca=q[Ea>>2];g:{if(Ca>>>0>2]){q[Ca>>2]=Ba;q[Ea>>2]=Ca+4;break g}ya(Aa,Da+12|0)}if(Ha&1){Ba=-1;if((o|0)==-1){break a}if(o-w(Fa,3)){o=o+ -1|0;break b}o=o+2|0;break b}Ba=-1;if((o|0)==-1){break a}Ba=o+1|0;o=(Ba>>>0)%3|0?Ba:o+ -2|0}Ba=-1;if((o|0)==-1){break a}Ba=q[q[q[a+4>>2]+12>>2]+(o<<2)>>2]}Ha=Ha+1|0;if((Ha|0)<(Ia|0)){continue}break}}T=Da+16|0}function Aa(a,o,Aa){var Ja=0,Ka=0,La=0;a:{if(t[a+80>>2]>65535){break a}Ka=q[a+96>>2];a=q[a+100>>2]-Ka|0;La=(a|0)/12|0;if((w(La,6)|0)!=(o|0)){break a}if(!a){return 1}a=0;while(1){o=w(a,6)+Aa|0;Ja=w(a,12)+Ka|0;p[o>>1]=q[Ja>>2];p[o+2>>1]=q[Ja+4>>2];p[o+4>>1]=q[Ja+8>>2];Ja=1;a=a+1|0;if(a>>>0>>0){continue}break}}return Ja}function Ba(a,o,Aa){var Ma=0,Na=0,Oa=0;Na=q[a+96>>2];a=q[a+100>>2]-Na|0;Oa=(a|0)/12|0;if((a|0)==(o|0)){if(!o){return 1}a=0;while(1){Ma=w(a,12);o=Ma+Aa|0;Ma=Ma+Na|0;q[o>>2]=q[Ma>>2];q[o+4>>2]=q[Ma+4>>2];q[o+8>>2]=q[Ma+8>>2];Ma=1;a=a+1|0;if(a>>>0>>0){continue}break}}return Ma}function Ca(a,Aa,Pa){var Qa=0,Ra=0,Sa=0,Ta=0;Qa=T-32|0;T=Qa;Ra=o[a+24|0];Ta=q[259];q[Qa+24>>2]=q[258];q[Qa+28>>2]=Ta;Ta=q[257];q[Qa+16>>2]=q[256];q[Qa+20>>2]=Ta;a:{if(Da(a,Aa,Ra,Qa+16|0)){a=0;q[Qa+8>>2]=0;q[Qa>>2]=0;q[Qa+4>>2]=0;Aa=0;if(Ra){if((Ra|0)<=-1){break a}Aa=Ra<<2;Sa=Mm(Aa);q[Qa>>2]=Sa;a=(Ra<<2)+Sa|0;q[Qa+8>>2]=a;Cn(Sa,Qa+16|0,Aa);q[Qa+4>>2]=a;Aa=a}Ra=q[Pa>>2];if(Ra){q[Pa+4>>2]=Ra;An(Ra);q[Pa+8>>2]=0;q[Pa>>2]=0;q[Pa+4>>2]=0;Aa=q[Qa+4>>2];Sa=q[Qa>>2];a=q[Qa+8>>2]}q[Pa>>2]=Sa;q[Pa+8>>2]=a;q[Pa+4>>2]=Aa;Sa=1}T=Qa+32|0;return Sa}bn();F()}function Da(a,Aa,Pa,Ua){var Va=0,Wa=0,Xa=x(0),Ya=0,Za=0;a:{b:{if(!Ua){break b}Va=q[a+28>>2]+ -1|0;if(Va>>>0>10){break b}c:{switch(Va-1|0){default:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(o[Aa|0]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa/x(127)):Xa;Aa=Aa+1|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 0:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(r[Aa|0]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa/x(255)):Xa;Aa=Aa+1|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 1:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(p[Aa>>1]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa/x(32767)):Xa;Aa=Aa+2|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 2:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(s[Aa>>1]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa/x(65535)):Xa;Aa=Aa+2|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 3:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(q[Aa>>2]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa*x(4.656612873077393e-10)):Xa;Aa=Aa+4|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 4:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(t[Aa>>2]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa*x(2.3283064365386963e-10)):Xa;Aa=Aa+4|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 5:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(+t[Aa>>2]+4294967296*+q[Aa+4>>2]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa*x(1.0842021724855044e-19)):Xa;Aa=Aa+8|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 6:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;Ya=r[a+32|0];while(1){Xa=x(+t[Aa>>2]+4294967296*+t[Aa+4>>2]);u[(Wa<<2)+Ua>>2]=Ya?x(Xa*x(5.421010862427522e-20)):Xa;Aa=Aa+8|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 7:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;while(1){q[(Wa<<2)+Ua>>2]=q[Aa>>2];Aa=Aa+4|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 8:Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;while(1){u[(Wa<<2)+Ua>>2]=v[Aa>>3];Aa=Aa+8|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}break a;case 9:break c}}Za=1;Va=o[a+24|0];if(((Va|0)>(Pa|0)?Pa:Va)<<24>>24>=1){Va=q[q[a>>2]>>2];Aa=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],Aa,0)|0;Aa=Va+Aa|0;while(1){u[(Wa<<2)+Ua>>2]=r[Aa|0]?x(1):x(0);Aa=Aa+1|0;Wa=Wa+1|0;Va=o[a+24|0];if((Wa|0)<((Va|0)>(Pa|0)?Pa:Va)<<24>>24){continue}break}}if((Va|0)>=(Pa|0)){break b}Dn((Va<<2)+Ua|0,0,Pa-Va<<2)}return Za}Dn((Va<<2)+Ua|0,0,Pa-Va<<2);return 1}function Ea(a,Aa,Pa){var Ua=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0;Ua=T-16|0;T=Ua;bb=q[a+80>>2];cb=o[Aa+24|0];a=q[259];q[Ua+8>>2]=q[258];q[Ua+12>>2]=a;a=q[257];q[Ua>>2]=q[256];q[Ua+4>>2]=a;a=w(bb,cb);$a=q[Pa>>2];_a=q[Pa+4>>2]-$a>>2;a:{if(a>>>0>_a>>>0){Fa(Pa,a-_a|0);break a}if(a>>>0>=_a>>>0){break a}q[Pa+4>>2]=$a+(a<<2)}b:{if(!bb){a=1;break b}$a=0;db=Aa+68|0;eb=(cb|0)<1;while(1){a=ab;_a=Aa;if(!r[_a+84|0]){a=q[q[db>>2]+(ab<<2)>>2]}if(!Da(_a,a,o[Aa+24|0],Ua)){a=0;break b}if(!eb){_a=q[Pa>>2];a=0;while(1){q[_a+($a<<2)>>2]=q[(a<<2)+Ua>>2];$a=$a+1|0;a=a+1|0;if((cb|0)!=(a|0)){continue}break}}a=1;ab=ab+1|0;if((bb|0)!=(ab|0)){continue}break}}T=Ua+16|0;return a}function Fa(a,o){var Aa=0,Pa=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0;Pa=q[a+8>>2];fb=a+4|0;Aa=q[fb>>2];if(Pa-Aa>>2>>>0>=o>>>0){a=o<<2;kb=fb,lb=Dn(Aa,0,a)+a|0,q[kb>>2]=lb;return}a:{fb=q[a>>2];hb=Aa-fb|0;Aa=hb>>2;gb=Aa+o|0;if(gb>>>0<1073741824){jb=Aa<<2;Pa=Pa-fb|0;Aa=Pa>>1;Pa=Pa>>2>>>0<536870911?Aa>>>0>>0?gb:Aa:1073741823;Aa=0;b:{if(!Pa){break b}if(Pa>>>0>=1073741824){break a}ib=Mm(Pa<<2);Aa=ib}Dn(jb+Aa|0,0,o<<2);o=Aa+(gb<<2)|0;gb=Aa+(Pa<<2)|0;if((hb|0)>=1){Cn(ib,fb,hb)}q[a>>2]=Aa;q[a+8>>2]=gb;q[a+4>>2]=o;if(fb){An(fb)}return}bn();F()}ab(1040);F()}function Ga(a,mb,nb){var ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0;pb=T-16|0;T=pb;sb=q[a+80>>2];rb=o[mb+24|0];qb=w(sb,rb);a:{a=q[mb+28>>2];b:{if(!(!r[mb+84|0]|((a|0)!=2?(a|0)!=1:0))){rb=q[mb+48>>2];mb=q[q[mb>>2]>>2];q[pb+8>>2]=0;q[pb>>2]=0;q[pb+4>>2]=0;a=0;if(qb){if((qb|0)<=-1){break a}a=Mm(qb);q[pb>>2]=a;ob=a+qb|0;q[pb+8>>2]=ob;Cn(a,mb+rb|0,qb);q[pb+4>>2]=ob}mb=q[nb>>2];if(mb){q[nb+4>>2]=mb;An(mb);q[nb+8>>2]=0;q[nb>>2]=0;q[nb+4>>2]=0}q[nb>>2]=a;q[nb+8>>2]=ob;q[nb+4>>2]=ob;ob=1;break b}q[pb+8>>2]=0;q[pb>>2]=0;q[pb+4>>2]=0;if(rb){if((rb|0)<=-1){break a}ob=Mm(rb);q[pb>>2]=ob;q[pb+4>>2]=ob;q[pb+8>>2]=ob+rb;a=rb;while(1){o[ob|0]=0;ob=q[pb+4>>2]+1|0;q[pb+4>>2]=ob;a=a+ -1|0;if(a){continue}break}}ob=q[nb>>2];a=q[nb+4>>2]-ob|0;c:{if(qb>>>0>a>>>0){Ha(nb,qb-a|0);break c}if(qb>>>0>=a>>>0){break c}q[nb+4>>2]=ob+qb}d:{if(!sb){ob=1;break d}a=0;tb=mb+68|0;ub=(rb|0)<1;qb=0;while(1){ob=qb;vb=mb;if(!r[mb+84|0]){ob=q[q[tb>>2]+(qb<<2)>>2]}if(!Ia(vb,ob,o[mb+24|0],q[pb>>2])){ob=0;break d}ob=0;if(!ub){while(1){o[q[nb>>2]+a|0]=r[q[pb>>2]+ob|0];a=a+1|0;ob=ob+1|0;if((rb|0)!=(ob|0)){continue}break}}ob=1;qb=qb+1|0;if((sb|0)!=(qb|0)){continue}break}}a=q[pb>>2];if(!a){break b}q[pb+4>>2]=a;An(a)}T=pb+16|0;return ob}bn();F()}function Ha(a,mb){var nb=0,wb=0,xb=0,yb=0,zb=0,Ab=0;a:{wb=q[a+8>>2];xb=a+4|0;nb=q[xb>>2];b:{if(wb-nb>>>0>=mb>>>0){while(1){o[nb|0]=0;nb=q[xb>>2]+1|0;q[xb>>2]=nb;mb=mb+ -1|0;if(mb){continue}break b}}yb=q[a>>2];zb=nb-yb|0;nb=zb+mb|0;if((nb|0)<=-1){break a}xb=0;wb=wb-yb|0;Ab=wb<<1;wb=wb>>>0<1073741823?Ab>>>0>>0?nb:Ab:2147483647;if(wb){xb=Mm(wb)}nb=xb+zb|0;Dn(nb,0,mb);wb=wb+xb|0;while(1){nb=nb+1|0;mb=mb+ -1|0;if(mb){continue}break}if((zb|0)>=1){Cn(xb,yb,zb)}q[a>>2]=xb;q[a+8>>2]=wb;q[a+4>>2]=nb;if(!yb){break b}An(yb)}return}bn();F()}function Ia(a,mb,Bb,Cb){var Db=0,Eb=0,Fb=0,Gb=0,Hb=x(0),Ib=0;a:{b:{if(!Cb){break b}Db=q[a+28>>2]+ -1|0;if(Db>>>0>10){break b}c:{d:{e:{switch(Db-1|0){default:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=r[mb|0];mb=mb+1|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 0:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=r[mb|0];mb=mb+1|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 1:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=r[mb|0];mb=mb+2|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 2:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=r[mb|0];mb=mb+2|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 3:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=q[mb>>2];mb=mb+4|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 4:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=q[mb>>2];mb=mb+4|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 5:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=q[mb>>2];mb=mb+8|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 6:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=q[mb>>2];mb=mb+8|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}break a;case 7:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24<1){break c}Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){Db=Cb+Eb|0;Hb=u[mb>>2];f:{if(x(y(Hb))(Bb|0)?Bb:Db)<<24>>24){continue}break}break c;case 8:Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24<1){break d}Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){Db=Cb+Eb|0;Ib=v[mb>>3];g:{if(y(Ib)<2147483648){Gb=~~Ib;break g}Gb=-2147483648}o[Db|0]=Gb;mb=mb+8|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}break d;case 9:break e}}Fb=1;Db=o[a+24|0];if(((Db|0)>(Bb|0)?Bb:Db)<<24>>24>=1){Db=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Db+mb|0;while(1){o[Cb+Eb|0]=r[mb|0];mb=mb+1|0;Eb=Eb+1|0;Db=o[a+24|0];if((Eb|0)<((Db|0)>(Bb|0)?Bb:Db)<<24>>24){continue}break}}if((Db|0)>=(Bb|0)){break b}Dn(Cb+Db|0,0,Bb-Db|0);break b}if((Db|0)>=(Bb|0)){break b}break a}if((Db|0)>=(Bb|0)){break b}break a}return Fb}Dn(Cb+Db|0,0,Bb-Db|0);return 1}function Ja(a,mb,Bb){var Cb=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0;Jb=T-16|0;T=Jb;Mb=q[a+80>>2];Lb=o[mb+24|0];Kb=w(Mb,Lb);a:{a=q[mb+28>>2];b:{if(!(!r[mb+84|0]|((a|0)!=2?(a|0)!=1:0))){Lb=q[mb+48>>2];mb=q[q[mb>>2]>>2];q[Jb+8>>2]=0;q[Jb>>2]=0;q[Jb+4>>2]=0;a=0;if(Kb){if((Kb|0)<=-1){break a}a=Mm(Kb);q[Jb>>2]=a;Cb=a+Kb|0;q[Jb+8>>2]=Cb;Cn(a,mb+Lb|0,Kb);q[Jb+4>>2]=Cb}mb=q[Bb>>2];if(mb){q[Bb+4>>2]=mb;An(mb);q[Bb+8>>2]=0;q[Bb>>2]=0;q[Bb+4>>2]=0}q[Bb>>2]=a;q[Bb+8>>2]=Cb;q[Bb+4>>2]=Cb;Cb=1;break b}q[Jb+8>>2]=0;q[Jb>>2]=0;q[Jb+4>>2]=0;if(Lb){if((Lb|0)<=-1){break a}Cb=Mm(Lb);q[Jb>>2]=Cb;q[Jb+4>>2]=Cb;q[Jb+8>>2]=Cb+Lb;a=Lb;while(1){o[Cb|0]=0;Cb=q[Jb+4>>2]+1|0;q[Jb+4>>2]=Cb;a=a+ -1|0;if(a){continue}break}}Cb=q[Bb>>2];a=q[Bb+4>>2]-Cb|0;c:{if(Kb>>>0>a>>>0){Ha(Bb,Kb-a|0);break c}if(Kb>>>0>=a>>>0){break c}q[Bb+4>>2]=Cb+Kb}d:{if(!Mb){Cb=1;break d}a=0;Nb=mb+68|0;Ob=(Lb|0)<1;Kb=0;while(1){Cb=Kb;Pb=mb;if(!r[mb+84|0]){Cb=q[q[Nb>>2]+(Kb<<2)>>2]}if(!Ka(Pb,Cb,o[mb+24|0],q[Jb>>2])){Cb=0;break d}Cb=0;if(!Ob){while(1){o[q[Bb>>2]+a|0]=r[q[Jb>>2]+Cb|0];a=a+1|0;Cb=Cb+1|0;if((Lb|0)!=(Cb|0)){continue}break}}Cb=1;Kb=Kb+1|0;if((Mb|0)!=(Kb|0)){continue}break}}a=q[Jb>>2];if(!a){break b}q[Jb+4>>2]=a;An(a)}T=Jb+16|0;return Cb}bn();F()}function Ka(a,mb,Bb,Qb){var Rb=0,Sb=0,Tb=0,Ub=0,Vb=x(0),Wb=0;a:{b:{if(!Qb){break b}Rb=q[a+28>>2]+ -1|0;if(Rb>>>0>10){break b}c:{d:{e:{switch(Rb-1|0){default:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=r[mb|0];mb=mb+1|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 0:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=r[mb|0];mb=mb+1|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 1:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=r[mb|0];mb=mb+2|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 2:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=r[mb|0];mb=mb+2|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 3:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=q[mb>>2];mb=mb+4|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 4:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=q[mb>>2];mb=mb+4|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 5:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=q[mb>>2];mb=mb+8|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 6:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=q[mb>>2];mb=mb+8|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}break a;case 7:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24<1){break c}Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){Rb=Qb+Sb|0;Vb=u[mb>>2];f:{if(Vb=x(0)){Ub=~~Vb>>>0;break f}Ub=0}o[Rb|0]=Ub;mb=mb+4|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}break c;case 8:Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24<1){break d}Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){Rb=Qb+Sb|0;Wb=v[mb>>3];g:{if(Wb<4294967296&Wb>=0){Ub=~~Wb>>>0;break g}Ub=0}o[Rb|0]=Ub;mb=mb+8|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}break d;case 9:break e}}Tb=1;Rb=o[a+24|0];if(((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24>=1){Rb=q[q[a>>2]>>2];mb=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],mb,0)|0;mb=Rb+mb|0;while(1){o[Qb+Sb|0]=r[mb|0];mb=mb+1|0;Sb=Sb+1|0;Rb=o[a+24|0];if((Sb|0)<((Rb|0)>(Bb|0)?Bb:Rb)<<24>>24){continue}break}}if((Rb|0)>=(Bb|0)){break b}Dn(Qb+Rb|0,0,Bb-Rb|0);break b}if((Rb|0)>=(Bb|0)){break b}break a}if((Rb|0)>=(Bb|0)){break b}break a}return Tb}Dn(Qb+Rb|0,0,Bb-Rb|0);return 1}function La(a,mb,Bb){var Qb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0;Qb=T-16|0;T=Qb;ac=q[a+80>>2];_b=o[mb+24|0];a=w(ac,_b);a:{Xb=q[mb+28>>2];b:{if(!(!r[mb+84|0]|((Xb|0)!=4?(Xb|0)!=3:0))){$b=q[mb+48>>2];Xb=q[q[mb>>2]>>2];q[Qb+8>>2]=0;q[Qb>>2]=0;q[Qb+4>>2]=0;mb=0;a=a<<1;if(a){if((a|0)<=-1){break a}Yb=Mm(a);q[Qb>>2]=Yb;Zb=(a>>1<<1)+Yb|0;q[Qb+8>>2]=Zb;mb=Cn(Yb,Xb+$b|0,a)+a|0;q[Qb+4>>2]=mb}a=q[Bb>>2];if(a){q[Bb+4>>2]=a;An(a);q[Bb+8>>2]=0;q[Bb>>2]=0;q[Bb+4>>2]=0}q[Bb>>2]=Yb;q[Bb+8>>2]=Zb;q[Bb+4>>2]=mb;a=1;break b}q[Qb+8>>2]=0;q[Qb>>2]=0;q[Qb+4>>2]=0;if(_b){if((_b|0)<=-1){break a}Xb=_b<<1;Yb=Mm(Xb);q[Qb>>2]=Yb;Zb=Xb+Yb|0;q[Qb+8>>2]=Zb;Dn(Yb,0,Xb);q[Qb+4>>2]=Zb}Yb=q[Bb>>2];Xb=q[Bb+4>>2]-Yb>>1;c:{if(a>>>0>Xb>>>0){Ma(Bb,a-Xb|0);break c}if(a>>>0>=Xb>>>0){break c}q[Bb+4>>2]=Yb+(a<<1)}d:{if(!ac){a=1;break d}Yb=0;Zb=mb+68|0;bc=(_b|0)<1;while(1){a=$b;Xb=mb;if(!r[mb+84|0]){a=q[q[Zb>>2]+($b<<2)>>2]}if(!Na(Xb,a,o[mb+24|0],q[Qb>>2])){a=0;break d}if(!bc){Xb=q[Bb>>2];a=0;cc=q[Qb>>2];while(1){p[Xb+(Yb<<1)>>1]=s[cc+(a<<1)>>1];Yb=Yb+1|0;a=a+1|0;if((_b|0)!=(a|0)){continue}break}}a=1;$b=$b+1|0;if((ac|0)!=($b|0)){continue}break}}mb=q[Qb>>2];if(!mb){break b}q[Qb+4>>2]=mb;An(mb)}T=Qb+16|0;return a}bn();F()}function Ma(a,o){var mb=0,Bb=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0;Bb=q[a+8>>2];dc=a+4|0;mb=q[dc>>2];if(Bb-mb>>1>>>0>=o>>>0){a=o<<1;ic=dc,jc=Dn(mb,0,a)+a|0,q[ic>>2]=jc;return}a:{dc=q[a>>2];fc=mb-dc|0;mb=fc>>1;ec=mb+o|0;if((ec|0)>-1){hc=mb<<1;Bb=Bb-dc|0;Bb=Bb>>1>>>0<1073741823?Bb>>>0>>0?ec:Bb:2147483647;mb=0;b:{if(!Bb){break b}if((Bb|0)<=-1){break a}gc=Mm(Bb<<1);mb=gc}Dn(hc+mb|0,0,o<<1);o=mb+(ec<<1)|0;ec=mb+(Bb<<1)|0;if((fc|0)>=1){Cn(gc,dc,fc)}q[a>>2]=mb;q[a+8>>2]=ec;q[a+4>>2]=o;if(dc){An(dc)}return}bn();F()}ab(1040);F()}function Na(a,kc,lc,mc){var nc=0,oc=0,pc=0,qc=0,rc=x(0),sc=0;a:{b:{if(!mc){break b}nc=q[a+28>>2]+ -1|0;if(nc>>>0>10){break b}c:{d:{e:{switch(nc-1|0){default:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=o[kc|0];kc=kc+1|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 0:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=r[kc|0];kc=kc+1|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 1:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=s[kc>>1];kc=kc+2|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 2:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=s[kc>>1];kc=kc+2|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 3:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=q[kc>>2];kc=kc+4|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 4:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=q[kc>>2];kc=kc+4|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 5:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=q[kc>>2];kc=kc+8|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 6:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=q[kc>>2];kc=kc+8|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}break a;case 7:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24<1){break c}nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){nc=(oc<<1)+mc|0;rc=u[kc>>2];f:{if(x(y(rc))>1]=qc;kc=kc+4|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}break c;case 8:pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24<1){break d}nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){nc=(oc<<1)+mc|0;sc=v[kc>>3];g:{if(y(sc)<2147483648){qc=~~sc;break g}qc=-2147483648}p[nc>>1]=qc;kc=kc+8|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}break d;case 9:break e}}pc=1;nc=o[a+24|0];if(((nc|0)>(lc|0)?lc:nc)<<24>>24>=1){nc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=nc+kc|0;while(1){p[(oc<<1)+mc>>1]=r[kc|0];kc=kc+1|0;oc=oc+1|0;nc=o[a+24|0];if((oc|0)<((nc|0)>(lc|0)?lc:nc)<<24>>24){continue}break}}if((nc|0)>=(lc|0)){break b}Dn((nc<<1)+mc|0,0,lc-nc<<1);break b}if((nc|0)>=(lc|0)){break b}break a}if((nc|0)>=(lc|0)){break b}break a}return pc}Dn((nc<<1)+mc|0,0,lc-nc<<1);return 1}function Oa(a,kc,lc){var mc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0;mc=T-16|0;T=mc;yc=q[a+80>>2];wc=o[kc+24|0];a=w(yc,wc);a:{tc=q[kc+28>>2];b:{if(!(!r[kc+84|0]|((tc|0)!=4?(tc|0)!=3:0))){xc=q[kc+48>>2];tc=q[q[kc>>2]>>2];q[mc+8>>2]=0;q[mc>>2]=0;q[mc+4>>2]=0;kc=0;a=a<<1;if(a){if((a|0)<=-1){break a}uc=Mm(a);q[mc>>2]=uc;vc=(a>>1<<1)+uc|0;q[mc+8>>2]=vc;kc=Cn(uc,tc+xc|0,a)+a|0;q[mc+4>>2]=kc}a=q[lc>>2];if(a){q[lc+4>>2]=a;An(a);q[lc+8>>2]=0;q[lc>>2]=0;q[lc+4>>2]=0}q[lc>>2]=uc;q[lc+8>>2]=vc;q[lc+4>>2]=kc;a=1;break b}q[mc+8>>2]=0;q[mc>>2]=0;q[mc+4>>2]=0;if(wc){if((wc|0)<=-1){break a}tc=wc<<1;uc=Mm(tc);q[mc>>2]=uc;vc=tc+uc|0;q[mc+8>>2]=vc;Dn(uc,0,tc);q[mc+4>>2]=vc}uc=q[lc>>2];tc=q[lc+4>>2]-uc>>1;c:{if(a>>>0>tc>>>0){Ma(lc,a-tc|0);break c}if(a>>>0>=tc>>>0){break c}q[lc+4>>2]=uc+(a<<1)}d:{if(!yc){a=1;break d}uc=0;vc=kc+68|0;zc=(wc|0)<1;while(1){a=xc;tc=kc;if(!r[kc+84|0]){a=q[q[vc>>2]+(xc<<2)>>2]}if(!Pa(tc,a,o[kc+24|0],q[mc>>2])){a=0;break d}if(!zc){tc=q[lc>>2];a=0;Ac=q[mc>>2];while(1){p[tc+(uc<<1)>>1]=s[Ac+(a<<1)>>1];uc=uc+1|0;a=a+1|0;if((wc|0)!=(a|0)){continue}break}}a=1;xc=xc+1|0;if((yc|0)!=(xc|0)){continue}break}}kc=q[mc>>2];if(!kc){break b}q[mc+4>>2]=kc;An(kc)}T=mc+16|0;return a}bn();F()}function Pa(a,kc,lc,Bc){var Cc=0,Dc=0,Ec=0,Fc=0,Gc=x(0),Hc=0;a:{b:{if(!Bc){break b}Cc=q[a+28>>2]+ -1|0;if(Cc>>>0>10){break b}c:{d:{e:{switch(Cc-1|0){default:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=o[kc|0];kc=kc+1|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 0:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=r[kc|0];kc=kc+1|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 1:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=s[kc>>1];kc=kc+2|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 2:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=s[kc>>1];kc=kc+2|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 3:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=q[kc>>2];kc=kc+4|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 4:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=q[kc>>2];kc=kc+4|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 5:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=q[kc>>2];kc=kc+8|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 6:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=q[kc>>2];kc=kc+8|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}break a;case 7:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24<1){break c}Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){Cc=(Dc<<1)+Bc|0;Gc=u[kc>>2];f:{if(Gc=x(0)){Fc=~~Gc>>>0;break f}Fc=0}p[Cc>>1]=Fc;kc=kc+4|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}break c;case 8:Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24<1){break d}Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){Cc=(Dc<<1)+Bc|0;Hc=v[kc>>3];g:{if(Hc<4294967296&Hc>=0){Fc=~~Hc>>>0;break g}Fc=0}p[Cc>>1]=Fc;kc=kc+8|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}break d;case 9:break e}}Ec=1;Cc=o[a+24|0];if(((Cc|0)>(lc|0)?lc:Cc)<<24>>24>=1){Cc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Cc+kc|0;while(1){p[(Dc<<1)+Bc>>1]=r[kc|0];kc=kc+1|0;Dc=Dc+1|0;Cc=o[a+24|0];if((Dc|0)<((Cc|0)>(lc|0)?lc:Cc)<<24>>24){continue}break}}if((Cc|0)>=(lc|0)){break b}Dn((Cc<<1)+Bc|0,0,lc-Cc<<1);break b}if((Cc|0)>=(lc|0)){break b}break a}if((Cc|0)>=(lc|0)){break b}break a}return Ec}Dn((Cc<<1)+Bc|0,0,lc-Cc<<1);return 1}function Qa(a,kc,lc){var Bc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0;Bc=T-16|0;T=Bc;Nc=q[a+80>>2];Kc=o[kc+24|0];Jc=w(Nc,Kc);a:{a=q[kc+28>>2];b:{if(!(!r[kc+84|0]|((a|0)!=6?(a|0)!=5:0))){Mc=q[kc+48>>2];Kc=q[q[kc>>2]>>2];q[Bc+8>>2]=0;q[Bc>>2]=0;q[Bc+4>>2]=0;a=0;kc=Jc<<2;c:{if(!kc){break c}a=kc>>2;if(a>>>0>=1073741824){break a}Ic=Mm(kc);q[Bc>>2]=Ic;q[Bc+4>>2]=Ic;Lc=(a<<2)+Ic|0;q[Bc+8>>2]=Lc;if((kc|0)<1){a=Ic;break c}a=Cn(Ic,Kc+Mc|0,kc)+kc|0;q[Bc+4>>2]=a}kc=q[lc>>2];if(kc){q[lc+4>>2]=kc;An(kc);q[lc+8>>2]=0;q[lc>>2]=0;q[lc+4>>2]=0}q[lc>>2]=Ic;q[lc+8>>2]=Lc;q[lc+4>>2]=a;a=1;break b}q[Bc+8>>2]=0;q[Bc>>2]=0;q[Bc+4>>2]=0;if(Kc){if((Kc|0)<=-1){break a}a=Kc<<2;Ic=Mm(a);q[Bc>>2]=Ic;Lc=a+Ic|0;q[Bc+8>>2]=Lc;Dn(Ic,0,a);q[Bc+4>>2]=Lc}Ic=q[lc>>2];a=q[lc+4>>2]-Ic>>2;d:{if(Jc>>>0>a>>>0){Fa(lc,Jc-a|0);break d}if(Jc>>>0>=a>>>0){break d}q[lc+4>>2]=Ic+(Jc<<2)}e:{if(!Nc){a=1;break e}Ic=0;Lc=kc+68|0;Oc=(Kc|0)<1;while(1){a=Mc;Jc=kc;if(!r[kc+84|0]){a=q[q[Lc>>2]+(Mc<<2)>>2]}if(!Ra(Jc,a,o[kc+24|0],q[Bc>>2])){a=0;break e}if(!Oc){Jc=q[lc>>2];a=0;Pc=q[Bc>>2];while(1){q[Jc+(Ic<<2)>>2]=q[Pc+(a<<2)>>2];Ic=Ic+1|0;a=a+1|0;if((Kc|0)!=(a|0)){continue}break}}a=1;Mc=Mc+1|0;if((Nc|0)!=(Mc|0)){continue}break}}kc=q[Bc>>2];if(!kc){break b}q[Bc+4>>2]=kc;An(kc)}T=Bc+16|0;return a}bn();F()}function Ra(a,kc,lc,Qc){var Rc=0,Sc=0,Tc=0,Uc=0,Vc=x(0),Wc=0;a:{b:{if(!Qc){break b}Rc=q[a+28>>2]+ -1|0;if(Rc>>>0>10){break b}c:{d:{e:{switch(Rc-1|0){default:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=o[kc|0];kc=kc+1|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 0:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=r[kc|0];kc=kc+1|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 1:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=p[kc>>1];kc=kc+2|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 2:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=s[kc>>1];kc=kc+2|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 3:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=q[kc>>2];kc=kc+4|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 4:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=q[kc>>2];kc=kc+4|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 5:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=q[kc>>2];kc=kc+8|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 6:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=q[kc>>2];kc=kc+8|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}break a;case 7:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24<1){break c}Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){Rc=(Sc<<2)+Qc|0;Vc=u[kc>>2];f:{if(x(y(Vc))>2]=Uc;kc=kc+4|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}break c;case 8:Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24<1){break d}Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){Rc=(Sc<<2)+Qc|0;Wc=v[kc>>3];g:{if(y(Wc)<2147483648){Uc=~~Wc;break g}Uc=-2147483648}q[Rc>>2]=Uc;kc=kc+8|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}break d;case 9:break e}}Tc=1;Rc=o[a+24|0];if(((Rc|0)>(lc|0)?lc:Rc)<<24>>24>=1){Rc=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=Rc+kc|0;while(1){q[(Sc<<2)+Qc>>2]=r[kc|0];kc=kc+1|0;Sc=Sc+1|0;Rc=o[a+24|0];if((Sc|0)<((Rc|0)>(lc|0)?lc:Rc)<<24>>24){continue}break}}if((Rc|0)>=(lc|0)){break b}Dn((Rc<<2)+Qc|0,0,lc-Rc<<2);break b}if((Rc|0)>=(lc|0)){break b}break a}if((Rc|0)>=(lc|0)){break b}break a}return Tc}Dn((Rc<<2)+Qc|0,0,lc-Rc<<2);return 1}function Sa(a,kc,lc){var Qc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0;Qc=T-16|0;T=Qc;ad=q[a+80>>2];Zc=o[kc+24|0];Yc=w(ad,Zc);a:{a=q[kc+28>>2];b:{if(!(!r[kc+84|0]|((a|0)!=6?(a|0)!=5:0))){$c=q[kc+48>>2];Zc=q[q[kc>>2]>>2];q[Qc+8>>2]=0;q[Qc>>2]=0;q[Qc+4>>2]=0;a=0;kc=Yc<<2;c:{if(!kc){break c}a=kc>>2;if(a>>>0>=1073741824){break a}Xc=Mm(kc);q[Qc>>2]=Xc;q[Qc+4>>2]=Xc;_c=(a<<2)+Xc|0;q[Qc+8>>2]=_c;if((kc|0)<1){a=Xc;break c}a=Cn(Xc,Zc+$c|0,kc)+kc|0;q[Qc+4>>2]=a}kc=q[lc>>2];if(kc){q[lc+4>>2]=kc;An(kc);q[lc+8>>2]=0;q[lc>>2]=0;q[lc+4>>2]=0}q[lc>>2]=Xc;q[lc+8>>2]=_c;q[lc+4>>2]=a;a=1;break b}q[Qc+8>>2]=0;q[Qc>>2]=0;q[Qc+4>>2]=0;if(Zc){if((Zc|0)<=-1){break a}a=Zc<<2;Xc=Mm(a);q[Qc>>2]=Xc;_c=a+Xc|0;q[Qc+8>>2]=_c;Dn(Xc,0,a);q[Qc+4>>2]=_c}Xc=q[lc>>2];a=q[lc+4>>2]-Xc>>2;d:{if(Yc>>>0>a>>>0){Fa(lc,Yc-a|0);break d}if(Yc>>>0>=a>>>0){break d}q[lc+4>>2]=Xc+(Yc<<2)}e:{if(!ad){a=1;break e}Xc=0;_c=kc+68|0;bd=(Zc|0)<1;while(1){a=$c;Yc=kc;if(!r[kc+84|0]){a=q[q[_c>>2]+($c<<2)>>2]}if(!Ta(Yc,a,o[kc+24|0],q[Qc>>2])){a=0;break e}if(!bd){Yc=q[lc>>2];a=0;cd=q[Qc>>2];while(1){q[Yc+(Xc<<2)>>2]=q[cd+(a<<2)>>2];Xc=Xc+1|0;a=a+1|0;if((Zc|0)!=(a|0)){continue}break}}a=1;$c=$c+1|0;if((ad|0)!=($c|0)){continue}break}}kc=q[Qc>>2];if(!kc){break b}q[Qc+4>>2]=kc;An(kc)}T=Qc+16|0;return a}bn();F()}function Ta(a,kc,lc,dd){var ed=0,fd=0,gd=0,hd=0,id=x(0),jd=0;a:{b:{if(!dd){break b}ed=q[a+28>>2]+ -1|0;if(ed>>>0>10){break b}c:{d:{e:{switch(ed-1|0){default:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=o[kc|0];kc=kc+1|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 0:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=r[kc|0];kc=kc+1|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 1:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=p[kc>>1];kc=kc+2|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 2:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=s[kc>>1];kc=kc+2|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 3:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=q[kc>>2];kc=kc+4|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 4:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=q[kc>>2];kc=kc+4|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 5:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=q[kc>>2];kc=kc+8|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 6:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=q[kc>>2];kc=kc+8|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}break a;case 7:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24<1){break c}ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){ed=(fd<<2)+dd|0;id=u[kc>>2];f:{if(id=x(0)){hd=~~id>>>0;break f}hd=0}q[ed>>2]=hd;kc=kc+4|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}break c;case 8:gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24<1){break d}ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){ed=(fd<<2)+dd|0;jd=v[kc>>3];g:{if(jd<4294967296&jd>=0){hd=~~jd>>>0;break g}hd=0}q[ed>>2]=hd;kc=kc+8|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}break d;case 9:break e}}gd=1;ed=o[a+24|0];if(((ed|0)>(lc|0)?lc:ed)<<24>>24>=1){ed=q[q[a>>2]>>2];kc=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],kc,0)|0;kc=ed+kc|0;while(1){q[(fd<<2)+dd>>2]=r[kc|0];kc=kc+1|0;fd=fd+1|0;ed=o[a+24|0];if((fd|0)<((ed|0)>(lc|0)?lc:ed)<<24>>24){continue}break}}if((ed|0)>=(lc|0)){break b}Dn((ed<<2)+dd|0,0,lc-ed<<2);break b}if((ed|0)>=(lc|0)){break b}break a}if((ed|0)>=(lc|0)){break b}break a}return gd}Dn((ed<<2)+dd|0,0,lc-ed<<2);return 1}function Ua(a,kc,lc,dd,kd){var ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0;md=T-16|0;T=md;lc=lc+ -1|0;a:{if(lc>>>0>8){break a}b:{switch(lc-1|0){default:ld=Va(a,kc,dd,kd);break a;case 1:ld=Wa(a,kc,dd,kd);break a;case 3:ld=Xa(a,kc,dd,kd);break a;case 0:ld=Ya(a,kc,dd,kd);break a;case 2:ld=Za(a,kc,dd,kd);break a;case 4:ld=_a(a,kc,dd,kd);break a;case 5:case 6:break a;case 7:break b}}nd=q[a+80>>2];od=o[kc+24|0];pd=od<<2;if((w(nd,pd)|0)!=(dd|0)){break a}a=0;lc=q[259];q[md+8>>2]=q[258];q[md+12>>2]=lc;lc=q[257];q[md>>2]=q[256];q[md+4>>2]=lc;if(!nd){ld=1;break a}qd=kc+68|0;rd=(od|0)<1;lc=0;while(1){dd=lc;ld=kc;if(!r[kc+84|0]){dd=q[q[qd>>2]+(lc<<2)>>2]}if(!Da(ld,dd,o[kc+24|0],md)){ld=0;break a}if(!rd){Cn((a<<2)+kd|0,md,pd);a=a+od|0}ld=1;lc=lc+1|0;if((nd|0)!=(lc|0)){continue}break}}T=md+16|0;return ld}function Va(a,kc,lc,dd){var kd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0;sd=T-16|0;T=sd;a:{vd=q[a+80>>2];td=o[kc+24|0];b:{if((w(vd,td)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=1)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);kd=1;break b}q[sd+8>>2]=0;q[sd>>2]=0;q[sd+4>>2]=0;if(td){if((td|0)<=-1){break a}kd=Mm(td);q[sd>>2]=kd;q[sd+4>>2]=kd;q[sd+8>>2]=kd+td;lc=td;while(1){o[kd|0]=0;kd=q[sd+4>>2]+1|0;q[sd+4>>2]=kd;lc=lc+ -1|0;if(lc){continue}break}}c:{if(!vd){kd=1;break c}lc=0;wd=kc+68|0;xd=(td|0)<1;while(1){a=ud;kd=kc;if(!r[kd+84|0]){a=q[q[wd>>2]+(ud<<2)>>2]}if(!Ia(kd,a,o[kc+24|0],q[sd>>2])){kd=0;break c}if(!xd){kd=0;a=q[sd>>2];while(1){o[lc+dd|0]=r[a+kd|0];lc=lc+1|0;kd=kd+1|0;if((td|0)!=(kd|0)){continue}break}}kd=1;ud=ud+1|0;if((vd|0)!=(ud|0)){continue}break}}a=q[sd>>2];if(!a){break b}q[sd+4>>2]=a;An(a)}T=sd+16|0;return kd}bn();F()}function Wa(a,kc,lc,dd){var yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0;yd=T-16|0;T=yd;a:{Cd=q[a+80>>2];Ad=o[kc+24|0];a=Ad<<1;b:{if((w(Cd,a)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=3)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);zd=1;break b}lc=0;q[yd+8>>2]=0;q[yd>>2]=0;q[yd+4>>2]=0;if(Ad){if((Ad|0)<=-1){break a}lc=Mm(a);q[yd>>2]=lc;q[yd+8>>2]=(Ad<<1)+lc;Fd=yd,Gd=Dn(lc,0,a)+a|0,q[Fd+4>>2]=Gd}c:{if(!Cd){zd=1;break c}lc=0;Dd=kc+68|0;Ed=(Ad|0)<1;while(1){a=Bd;zd=kc;if(!r[kc+84|0]){a=q[q[Dd>>2]+(Bd<<2)>>2]}d:{if(!Na(zd,a,o[kc+24|0],q[yd>>2])){zd=0;break d}if(!Ed){zd=0;a=q[yd>>2];while(1){p[(lc<<1)+dd>>1]=s[a+(zd<<1)>>1];lc=lc+1|0;zd=zd+1|0;if((Ad|0)!=(zd|0)){continue}break}}zd=1;Bd=Bd+1|0;if((Cd|0)!=(Bd|0)){continue}}break}lc=q[yd>>2]}if(!lc){break b}q[yd+4>>2]=lc;An(lc)}T=yd+16|0;return zd}bn();F()}function Xa(a,kc,lc,dd){var Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0;Hd=T-16|0;T=Hd;a:{Ld=q[a+80>>2];Jd=o[kc+24|0];a=Jd<<2;b:{if((w(Ld,a)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=5)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);Id=1;break b}lc=0;q[Hd+8>>2]=0;q[Hd>>2]=0;q[Hd+4>>2]=0;if(Jd){if((Jd|0)<=-1){break a}lc=Mm(a);q[Hd>>2]=lc;q[Hd+8>>2]=(Jd<<2)+lc;Od=Hd,Pd=Dn(lc,0,a)+a|0,q[Od+4>>2]=Pd}c:{if(!Ld){Id=1;break c}lc=0;Md=kc+68|0;Nd=(Jd|0)<1;while(1){a=Kd;Id=kc;if(!r[kc+84|0]){a=q[q[Md>>2]+(Kd<<2)>>2]}d:{if(!Ra(Id,a,o[kc+24|0],q[Hd>>2])){Id=0;break d}if(!Nd){Id=0;a=q[Hd>>2];while(1){q[(lc<<2)+dd>>2]=q[a+(Id<<2)>>2];lc=lc+1|0;Id=Id+1|0;if((Jd|0)!=(Id|0)){continue}break}}Id=1;Kd=Kd+1|0;if((Ld|0)!=(Kd|0)){continue}}break}lc=q[Hd>>2]}if(!lc){break b}q[Hd+4>>2]=lc;An(lc)}T=Hd+16|0;return Id}bn();F()}function Ya(a,kc,lc,dd){var Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0;Rd=T-16|0;T=Rd;a:{Ud=q[a+80>>2];Sd=o[kc+24|0];b:{if((w(Ud,Sd)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=2)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);Qd=1;break b}q[Rd+8>>2]=0;q[Rd>>2]=0;q[Rd+4>>2]=0;if(Sd){if((Sd|0)<=-1){break a}Qd=Mm(Sd);q[Rd>>2]=Qd;q[Rd+4>>2]=Qd;q[Rd+8>>2]=Qd+Sd;lc=Sd;while(1){o[Qd|0]=0;Qd=q[Rd+4>>2]+1|0;q[Rd+4>>2]=Qd;lc=lc+ -1|0;if(lc){continue}break}}c:{if(!Ud){Qd=1;break c}lc=0;Vd=kc+68|0;Wd=(Sd|0)<1;while(1){a=Td;Qd=kc;if(!r[Qd+84|0]){a=q[q[Vd>>2]+(Td<<2)>>2]}if(!Ka(Qd,a,o[kc+24|0],q[Rd>>2])){Qd=0;break c}if(!Wd){Qd=0;a=q[Rd>>2];while(1){o[lc+dd|0]=r[a+Qd|0];lc=lc+1|0;Qd=Qd+1|0;if((Sd|0)!=(Qd|0)){continue}break}}Qd=1;Td=Td+1|0;if((Ud|0)!=(Td|0)){continue}break}}a=q[Rd>>2];if(!a){break b}q[Rd+4>>2]=a;An(a)}T=Rd+16|0;return Qd}bn();F()}function Za(a,kc,lc,dd){var Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0;Xd=T-16|0;T=Xd;a:{$d=q[a+80>>2];Zd=o[kc+24|0];a=Zd<<1;b:{if((w($d,a)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=4)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);Yd=1;break b}lc=0;q[Xd+8>>2]=0;q[Xd>>2]=0;q[Xd+4>>2]=0;if(Zd){if((Zd|0)<=-1){break a}lc=Mm(a);q[Xd>>2]=lc;q[Xd+8>>2]=(Zd<<1)+lc;ce=Xd,de=Dn(lc,0,a)+a|0,q[ce+4>>2]=de}c:{if(!$d){Yd=1;break c}lc=0;ae=kc+68|0;be=(Zd|0)<1;while(1){a=_d;Yd=kc;if(!r[kc+84|0]){a=q[q[ae>>2]+(_d<<2)>>2]}d:{if(!Pa(Yd,a,o[kc+24|0],q[Xd>>2])){Yd=0;break d}if(!be){Yd=0;a=q[Xd>>2];while(1){p[(lc<<1)+dd>>1]=s[a+(Yd<<1)>>1];lc=lc+1|0;Yd=Yd+1|0;if((Zd|0)!=(Yd|0)){continue}break}}Yd=1;_d=_d+1|0;if(($d|0)!=(_d|0)){continue}}break}lc=q[Xd>>2]}if(!lc){break b}q[Xd+4>>2]=lc;An(lc)}T=Xd+16|0;return Yd}bn();F()}function _a(a,kc,lc,dd){var ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0;ee=T-16|0;T=ee;a:{ie=q[a+80>>2];ge=o[kc+24|0];a=ge<<2;b:{if((w(ie,a)|0)!=(lc|0)){break b}if(!(!r[kc+84|0]|q[kc+28>>2]!=6)){Cn(dd,q[q[kc>>2]>>2]+q[kc+48>>2]|0,lc);fe=1;break b}lc=0;q[ee+8>>2]=0;q[ee>>2]=0;q[ee+4>>2]=0;if(ge){if((ge|0)<=-1){break a}lc=Mm(a);q[ee>>2]=lc;q[ee+8>>2]=(ge<<2)+lc;le=ee,me=Dn(lc,0,a)+a|0,q[le+4>>2]=me}c:{if(!ie){fe=1;break c}lc=0;je=kc+68|0;ke=(ge|0)<1;while(1){a=he;fe=kc;if(!r[kc+84|0]){a=q[q[je>>2]+(he<<2)>>2]}d:{if(!Ta(fe,a,o[kc+24|0],q[ee>>2])){fe=0;break d}if(!ke){fe=0;a=q[ee>>2];while(1){q[(lc<<2)+dd>>2]=q[a+(fe<<2)>>2];lc=lc+1|0;fe=fe+1|0;if((ge|0)!=(fe|0)){continue}break}}fe=1;he=he+1|0;if((ie|0)!=(he|0)){continue}}break}lc=q[ee>>2]}if(!lc){break b}q[ee+4>>2]=lc;An(lc)}T=ee+16|0;return fe}bn();F()}function $a(a,o){var kc=0,lc=0;kc=q[a+4>>2];if(!kc){return 0}o=q[q[q[a+8>>2]+(o<<2)>>2]+60>>2];if((o|0)<0){return 0}a=q[kc+24>>2];kc=q[kc+28>>2];if((a|0)==(kc|0)){return 0}a:{while(1){lc=q[a>>2];if((o|0)==q[lc+24>>2]){break a}a=a+4|0;if((kc|0)!=(a|0)){continue}break}return 0}return lc}function ab(a){var o=0;o=I(8)|0;q[o>>2]=15856;q[o>>2]=15900;Nm(o+4|0,a);q[o>>2]=15948;J(o|0,15980,1);F()}function bb(a,dd,ne){var oe=0,pe=0,qe=0,re=0,se=0;pe=T-16|0;T=pe;q[a+4>>2]=0;a:{b:{if(!dd){break b}qe=q[a+8>>2];oe=qe<<5;c:{if(oe>>>0>=dd>>>0){q[a+4>>2]=dd;break c}q[pe+8>>2]=0;q[pe>>2]=0;q[pe+4>>2]=0;if((dd|0)<=-1){break a}se=pe;if(oe>>>0<=1073741822){re=dd+31&-32;oe=qe<<6;re=oe>>>0>>0?re:oe}else{re=2147483647}cb(se,re);re=q[a>>2];q[a>>2]=q[pe>>2];q[pe>>2]=re;qe=q[a+4>>2];q[a+4>>2]=dd;q[pe+4>>2]=qe;oe=a+8|0;qe=q[oe>>2];q[oe>>2]=q[pe+8>>2];q[pe+8>>2]=qe;if(!re){break c}An(re)}oe=dd>>>5;qe=oe<<2;a=q[a>>2];if(r[ne|0]){a=Dn(a,255,qe);dd=dd&31;if(!dd){break b}a=a+(oe<<2)|0;q[a>>2]=q[a>>2]|-1>>>32-dd;break b}a=Dn(a,0,qe);dd=dd&31;if(!dd){break b}a=a+(oe<<2)|0;q[a>>2]=q[a>>2]&(-1>>>32-dd^-1)}T=pe+16|0;return}bn();F()}function cb(a,dd){var ne=0,te=0;ne=T-32|0;T=ne;a:{b:{if(q[a+8>>2]<<5>>>0>=dd>>>0){break b}q[ne+24>>2]=0;q[ne+16>>2]=0;q[ne+20>>2]=0;if((dd|0)<=-1){break a}dd=(dd+ -1>>>5)+1|0;te=Mm(dd<<2);q[ne+24>>2]=dd;q[ne+20>>2]=0;q[ne+16>>2]=te;dd=q[a>>2];q[ne+12>>2]=0;q[ne+8>>2]=dd;te=q[a+4>>2];q[ne+4>>2]=te&31;q[ne>>2]=dd+(te>>>3&536870908);db(ne+16|0,ne+8|0,ne);dd=q[a>>2];q[a>>2]=q[ne+16>>2];q[ne+16>>2]=dd;te=q[a+4>>2];q[a+4>>2]=q[ne+20>>2];q[ne+20>>2]=te;a=a+8|0;te=q[a>>2];q[a>>2]=q[ne+24>>2];q[ne+24>>2]=te;if(!dd){break b}An(dd)}T=ne+32|0;return}bn();F()}function db(a,dd,ue){var ve=0,we=0,xe=0,ye=0,ze=0,Ae=0;xe=T-32|0;T=xe;ze=q[ue+4>>2];ve=q[dd+4>>2];Ae=q[ue>>2];ye=q[dd>>2];dd=(ze-ve|0)+(Ae-ye<<3)|0;ue=q[a+4>>2];we=dd+ue|0;q[a+4>>2]=we;a:{if(!(!ue|(we+ -1^ue+ -1)>>>0>31)){a=q[a>>2];break a}a=q[a>>2];if(we>>>0<=32){q[a>>2]=0;break a}q[(we+ -1>>>3&536870908)+a>>2]=0}a=(ue>>>3&536870908)+a|0;ue=ue&31;b:{if((ue|0)==(ve|0)){c:{if((dd|0)<1){break c}d:{if(!ve){ue=0;break d}we=32-ve|0;ue=(dd|0)<(we|0)?dd:we;we=-1<>>we-ue;q[a>>2]=q[a>>2]&(we^-1)|we&q[ye>>2];dd=dd-ue|0;ve=ue+ve|0;ue=ve&31;a=(ve>>>3&536870908)+a|0;ye=ye+4|0}ve=(dd|0)/32|0;we=ve<<2;a=En(a,ye,we)+we|0;ve=dd-(ve<<5)|0;if((ve|0)<1){ve=ue;break c}dd=-1>>>32-ve;q[a>>2]=q[a>>2]&(dd^-1)|dd&q[we+ye>>2]}q[xe+4>>2]=ve;q[xe>>2]=a;break b}q[xe+28>>2]=ve;q[xe+24>>2]=ye;q[xe+20>>2]=ze;q[xe+16>>2]=Ae;q[xe+12>>2]=ue;q[xe+8>>2]=a;eb(xe,xe+24|0,xe+16|0,xe+8|0)}T=xe+32|0}function eb(a,dd,ue,Be){var Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0;De=q[dd>>2];Ce=q[ue+4>>2]+(q[ue>>2]-De<<3)|0;ue=q[dd+4>>2];Ee=Ce-ue|0;a:{if((Ee|0)<=0){ue=q[Be+4>>2];break a}b:{if(!ue){ue=q[Be+4>>2];break b}Ce=q[Be+4>>2];He=32-Ce|0;Ie=32-ue|0;Fe=(Ee|0)<(Ie|0)?Ee:Ie;Ge=He>>>0>>0?He:Fe;Je=q[Be>>2];De=q[De>>2]&(-1<>>Ie-Fe);q[Je>>2]=q[Je>>2]&(-1<>>He-Ge^-1)|(Ce>>>0>ue>>>0?De<>>ue-Ce);Ce=Ce+Ge|0;ue=Ce&31;q[Be+4>>2]=ue;He=Je+(Ce>>>3&536870908)|0;q[Be>>2]=He;Ce=Fe-Ge|0;if((Ce|0)>=1){q[He>>2]=q[He>>2]&(-1>>>32-Ce^-1)|De>>>Ge+q[dd+4>>2];q[Be+4>>2]=Ce;ue=Ce}Ee=Ee-Fe|0;De=q[dd>>2]+4|0;q[dd>>2]=De}Ge=-1<>2];De=q[De>>2];q[Ce>>2]=He&q[Ce>>2]|De<>2]=Ce+4;q[Ce+4>>2]=Ge&q[Ce+4>>2]|De>>>Fe;De=q[dd>>2]+4|0;q[dd>>2]=De;Ie=(Ee|0)>63;Ce=Ee+ -32|0;Ee=Ce;if(Ie){continue}break}}if((Ce|0)<1){break a}dd=q[Be>>2];Ee=(Fe|0)<(Ce|0)?Fe:Ce;Ge=q[dd>>2]&(Ge&-1>>>Fe-Ee^-1);Fe=q[De>>2]&-1>>>32-Ce;q[dd>>2]=Ge|Fe<>2]=ue;De=dd+(De>>>3&536870908)|0;q[Be>>2]=De;dd=Ce-Ee|0;if((dd|0)<1){break a}q[De>>2]=q[De>>2]&(-1>>>32-dd^-1)|Fe>>>Ee;q[Be+4>>2]=dd;ue=dd}dd=q[Be>>2];q[a+4>>2]=ue;q[a>>2]=dd}function fb(a){a=a|0;return q[a>>2]}function gb(a){a=a|0;return!q[a>>2]|0}function hb(a){a=a|0;var dd=0;dd=a+4|0;if(o[a+15|0]<=-1){dd=q[dd>>2]}return dd|0}function ib(a){a=a|0;if(a){if(o[a+15|0]<=-1){An(q[a+4>>2])}An(a)}}function jb(){var a=0;a=Mm(12);q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;return a|0}function kb(ue,Be){ue=ue|0;Be=Be|0;return s[q[ue>>2]+(Be<<1)>>1]}function lb(ue){ue=ue|0;return q[ue+4>>2]-q[ue>>2]>>1}function mb(ue){ue=ue|0;var Be=0;if(ue){Be=q[ue>>2];if(Be){q[ue+4>>2]=Be;An(Be)}An(ue)}}function nb(){return al(Mm(84))|0}function ob(ue){ue=ue|0;return q[ue+12>>2]-q[ue+8>>2]>>2}function pb(ue){ue=ue|0;return q[ue+80>>2]}function qb(ue){ue=ue|0;if(ue){n[q[q[ue>>2]+4>>2]](ue)}}function rb(ue,Ke){ue=ue|0;Ke=Ke|0;return r[q[ue>>2]+Ke|0]}function sb(ue){ue=ue|0;return q[ue+4>>2]-q[ue>>2]|0}function tb(ue,Ke){ue=ue|0;Ke=Ke|0;return q[q[ue>>2]+(Ke<<2)>>2]}function ub(ue){ue=ue|0;return q[ue+4>>2]-q[ue>>2]>>2}function vb(){var ue=0;ue=Mm(8);q[ue+4>>2]=-1;q[ue>>2]=1116;return ue|0}function wb(Ke,Le){Ke=Ke|0;Le=Le|0;return n[q[q[Ke>>2]+12>>2]](Ke,Le)|0}function xb(Ke){Ke=Ke|0;return q[Ke+4>>2]}function yb(){return rd(Mm(96))|0}function zb(Ke){Ke=Ke|0;return q[Ke+88>>2]}function Ab(Ke){Ke=Ke|0;return q[Ke+56>>2]}function Bb(Ke){Ke=Ke|0;return q[Ke+28>>2]}function Cb(q){q=q|0;return o[q+24|0]}function Db(q){q=q|0;return r[q+32|0]}function Eb(Ke){Ke=Ke|0;return q[Ke+40>>2]}function Fb(Ke){Ke=Ke|0;return q[Ke+48>>2]}function Gb(Ke){Ke=Ke|0;return q[Ke+60>>2]}function Hb(Ke){Ke=Ke|0;var Le=0,Me=0;if(Ke){Le=Ke+88|0;Me=q[Le>>2];q[Le>>2]=0;if(Me){Le=q[Me+8>>2];if(Le){q[Me+12>>2]=Le;An(Le)}An(Me)}Me=q[Ke+68>>2];if(Me){q[Ke+72>>2]=Me;An(Me)}Le=Ke- -64|0;Me=q[Le>>2];q[Le>>2]=0;if(Me){Le=q[Me>>2];if(Le){q[Me+4>>2]=Le;An(Le)}An(Me)}An(Ke)}}function Ib(){var Ke=0;Ke=Mm(40);q[Ke>>2]=-1;Uj(Ke+8|0);return Ke|0}function Jb(Ne){Ne=Ne|0;var Oe=0;if(Ne){Oe=q[Ne+8>>2];if(Oe){q[Ne+12>>2]=Oe;An(Oe)}An(Ne)}}function Kb(){var Ne=0;Ne=Mm(24);q[Ne+4>>2]=-1;q[Ne>>2]=1232;q[Ne+8>>2]=0;q[Ne+12>>2]=0;q[Ne+16>>2]=0;q[Ne+20>>2]=0;return Ne|0}function Lb(Pe,Qe){Pe=Pe|0;Qe=Qe|0;return x(u[q[Pe+8>>2]+(Qe<<2)>>2])}function Mb(q){q=q|0;return x(u[q+20>>2])}function Nb(Pe,Qe){Pe=Pe|0;Qe=Qe|0;return o[q[Pe>>2]+Qe|0]}function Ob(){var Pe=0;Pe=Mm(28);q[Pe>>2]=0;q[Pe+4>>2]=0;q[Pe+24>>2]=0;q[Pe+16>>2]=0;q[Pe+20>>2]=0;q[Pe+8>>2]=0;q[Pe+12>>2]=0;return Pe|0}function Pb(q,Qe,Re){q=q|0;Qe=Qe|0;Re=Re|0;return fa(Qe,Re)|0}function Qb(q,Qe,Re){q=q|0;Qe=Qe|0;Re=Re|0;return ha(Qe,Re)|0}function Rb(q,Qe,Re,Se){q=q|0;Qe=Qe|0;Re=Re|0;Se=Se|0;ia(Qe,Re,Se)}function Sb(q,Qe,Re){q=q|0;Qe=Qe|0;Re=Re|0;return+ja(Qe,Re)}function Tb(q,Qe,Re){q=q|0;Qe=Qe|0;Re=Re|0;return ka(q,Qe,Re)|0}function Ub(Qe,Re){Qe=Qe|0;Re=Re|0;return q[Re+8>>2]}function Vb(q,Qe,Re){q=q|0;Qe=Qe|0;Re=Re|0;return la(q,Qe,Re)|0}function Wb(Qe){Qe=Qe|0;var Re=0,Se=0,Te=0,Ue=0,Ve=0;if(Qe){if(o[Qe+27|0]<=-1){An(q[Qe+16>>2])}Se=q[Qe>>2];if(Se){Re=Se;Ve=Qe+4|0;Te=q[Ve>>2];Ue=Re;a:{if((Te|0)==(Re|0)){break a}while(1){Re=Te+ -12|0;if(o[Te+ -1|0]<=-1){An(q[Re>>2])}Te=Re;if((Re|0)!=(Se|0)){continue}break}Ue=q[Qe>>2]}Re=Ue;q[Ve>>2]=Se;An(Re)}An(Qe)}}function Xb(Qe,We){Qe=Qe|0;We=We|0;return p[q[Qe>>2]+(We<<1)>>1]}function Yb(Qe,We){Qe=Qe|0;We=We|0;return x(u[q[Qe>>2]+(We<<2)>>2])}function Zb(){return nd(Mm(64))|0}function _b(q){q=q|0;if(q){An(q)}}function $b(){return Yj(Mm(40))|0}function ac(Qe,We,Xe){Qe=Qe|0;We=We|0;Xe=Xe|0;q[Qe+16>>2]=0;q[Qe+20>>2]=0;q[Qe>>2]=We;q[Qe+8>>2]=Xe;q[Qe+12>>2]=0}function bc(){return na(Mm(40))|0}function cc(q,Qe){q=q|0;Qe=Qe|0;return oa(Qe)|0}function dc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return pa(q,Qe,We)|0}function ec(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return qa(q,Qe,We)|0}function fc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return bl(Qe,We)|0}function gc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return ra(Qe,We)|0}function hc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return sa(Qe,We,Xe)|0}function ic(Qe,We,Xe){Qe=Qe|0;We=We|0;Xe=Xe|0;return q[q[We+8>>2]+(Xe<<2)>>2]}function jc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return dl(Qe,We)|0}function kc(Qe,We){Qe=Qe|0;We=We|0;return q[We+4>>2]}function lc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return $a(Qe,We)|0}function mc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return ta(Qe,We,Xe)|0}function nc(q,Qe,We){q=q|0;Qe=Qe|0;We=We|0;return ua(Qe,We)|0}function oc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Aa(Qe,We,Xe)|0}function pc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ba(Qe,We,Xe)|0}function qc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ca(Qe,We,Xe)|0}function rc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ea(Qe,We,Xe)|0}function sc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Qa(Qe,We,Xe)|0}function tc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ga(Qe,We,Xe)|0}function uc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ja(Qe,We,Xe)|0}function vc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return La(Qe,We,Xe)|0}function wc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Oa(Qe,We,Xe)|0}function xc(q,Qe,We,Xe){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Sa(Qe,We,Xe)|0}function yc(q,Qe,We,Xe,Ye,Ze){q=q|0;Qe=Qe|0;We=We|0;Xe=Xe|0;Ye=Ye|0;Ze=Ze|0;return Ua(Qe,We,Xe,Ye,Ze)|0}function zc(q,Qe){q=q|0;Qe=Qe|0;kh(q,Qe)}function Ac(Qe){Qe=Qe|0;if(Qe){if(o[Qe+39|0]<=-1){An(q[Qe+28>>2])}Bc(Qe+12|0,q[Qe+16>>2]);Cc(Qe,q[Qe+4>>2]);An(Qe)}}function Bc(Qe,We){if(We){Bc(Qe,q[We>>2]);Bc(Qe,q[We+4>>2]);Cc(We+20|0,q[We+24>>2]);An(We)}}function Cc(Qe,We){if(We){Cc(Qe,q[We>>2]);Cc(Qe,q[We+4>>2]);if(o[We+39|0]<=-1){An(q[We+28>>2])}if(o[We+27|0]<=-1){An(q[We+16>>2])}An(We)}}function Dc(){return vk(Mm(108))|0}function Ec(Qe){Qe=Qe|0;return(q[Qe+100>>2]-q[Qe+96>>2]|0)/12|0}function Fc(){var Qe=0,We=0,Xe=0;We=Mm(24);Xe=We+4|0;Qe=Xe;q[Qe>>2]=0;q[Qe+4>>2]=0;Qe=We+16|0;q[Qe>>2]=0;q[Qe+4>>2]=0;q[We>>2]=Xe;q[We+12>>2]=Qe;return We|0}function Gc(Ye){Ye=Ye|0;if(Ye){Hc(Ye+12|0,q[Ye+16>>2]);Ic(Ye,q[Ye+4>>2]);An(Ye)}}function Hc(Ye,Ze){var _e=0;if(Ze){Hc(Ye,q[Ze>>2]);Hc(Ye,q[Ze+4>>2]);_e=Ze+28|0;Ye=q[_e>>2];q[_e>>2]=0;if(Ye){Hc(Ye+12|0,q[Ye+16>>2]);Ic(Ye,q[Ye+4>>2]);An(Ye)}if(o[Ze+27|0]<=-1){An(q[Ze+16>>2])}An(Ze)}}function Ic(Ye,Ze){if(Ze){Ic(Ye,q[Ze>>2]);Ic(Ye,q[Ze+4>>2]);Ye=q[Ze+28>>2];if(Ye){q[Ze+32>>2]=Ye;An(Ye)}if(o[Ze+27|0]<=-1){An(q[Ze+16>>2])}An(Ze)}}function Jc(){return 0}function Kc(){return-1}function Lc(){return-2}function Mc(){return-3}function Nc(){return-4}function Oc(){return-5}function Pc(){return 1}function Qc(){return 2}function Rc(){return 3}function Sc(){return 4}function Tc(){return 5}function Uc(){return 6}function Vc(){return 7}function Wc(){return 8}function Xc(){return 9}function Yc(){return 10}function Zc(){return 11}function _c(){return 12}function $c(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var $e=0;Ze=q[Ze+88>>2];if(!(!Ze|q[Ze>>2]!=2)){$e=Ye;Ye=q[Ze+8>>2];q[$e+4>>2]=r[Ye|0]|r[Ye+1|0]<<8|(r[Ye+2|0]<<16|r[Ye+3|0]<<24);$e=1}return $e|0}function ad(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var af=0,bf=0;q[Ze>>2]=2;af=q[Ze+8>>2];bf=q[Ze+12>>2]-af|0;if(bf>>>0<=4294967291){Ze=Ze+8|0;Xj(Ze,bf+4|0);af=q[Ze>>2]}Ze=af+bf|0;Ye=r[Ye+4|0]|r[Ye+5|0]<<8|(r[Ye+6|0]<<16|r[Ye+7|0]<<24);o[Ze|0]=Ye;o[Ze+1|0]=Ye>>>8;o[Ze+2|0]=Ye>>>16;o[Ze+3|0]=Ye>>>24}function bd(q){q=q|0;return q|0}function cd(q){q=q|0;An(q)}function dd(q){q=q|0;return 2}function ed(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var cf=0,df=0,ef=0,ff=0,gf=0,hf=0;ef=q[Ze+88>>2];if(!(!ef|q[ef>>2]!=1)){ff=ef+8|0;ef=q[ff>>2];cf=ef;q[Ye+4>>2]=r[cf|0]|r[cf+1|0]<<8|(r[cf+2|0]<<16|r[cf+3|0]<<24);gf=Ye+8|0;hf=q[Ye+8>>2];df=q[Ye+12>>2]-hf>>2;cf=o[Ze+24|0];a:{if(df>>>0>>0){Fa(gf,cf-df|0);ef=q[ff>>2];cf=r[Ze+24|0];break a}if(df>>>0<=cf>>>0){break a}q[Ye+12>>2]=hf+(cf<<2)}ff=1;Ze=ef;df=r[Ze+4|0]|r[Ze+5|0]<<8|(r[Ze+6|0]<<16|r[Ze+7|0]<<24);if(cf<<24>>24>=1){hf=cf&255;gf=q[gf>>2];Ze=0;cf=4;while(1){q[gf+(Ze<<2)>>2]=df;cf=cf+4|0;df=ef+cf|0;df=r[df|0]|r[df+1|0]<<8|(r[df+2|0]<<16|r[df+3|0]<<24);Ze=Ze+1|0;if(Ze>>>0>>0){continue}break}}q[Ye+20>>2]=df}return ff|0}function fd(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var jf=0,kf=0,lf=0,mf=0,nf=0,of=0;q[Ze>>2]=1;mf=Ze+8|0;jf=q[Ze+8>>2];kf=q[Ze+12>>2]-jf|0;if(kf>>>0<=4294967291){Xj(mf,kf+4|0);jf=q[mf>>2]}kf=jf+kf|0;jf=r[Ye+4|0]|r[Ye+5|0]<<8|(r[Ye+6|0]<<16|r[Ye+7|0]<<24);o[kf|0]=jf;o[kf+1|0]=jf>>>8;o[kf+2|0]=jf>>>16;o[kf+3|0]=jf>>>24;jf=q[Ye+8>>2];if((jf|0)!=q[Ye+12>>2]){of=Ze+12|0;while(1){kf=(nf<<2)+jf|0;jf=q[Ze+8>>2];lf=q[of>>2]-jf|0;if(lf>>>0<=4294967291){Xj(mf,lf+4|0);jf=q[mf>>2]}lf=jf+lf|0;jf=r[kf|0]|r[kf+1|0]<<8|(r[kf+2|0]<<16|r[kf+3|0]<<24);o[lf|0]=jf;o[lf+1|0]=jf>>>8;o[lf+2|0]=jf>>>16;o[lf+3|0]=jf>>>24;nf=nf+1|0;jf=q[Ye+8>>2];if(nf>>>0>2]-jf>>2>>>0){continue}break}}jf=q[Ze+12>>2];Ze=q[Ze+8>>2];jf=jf-Ze|0;if(jf>>>0<=4294967291){Xj(mf,jf+4|0);Ze=q[mf>>2]}Ze=Ze+jf|0;Ye=r[Ye+20|0]|r[Ye+21|0]<<8|(r[Ye+22|0]<<16|r[Ye+23|0]<<24);o[Ze|0]=Ye;o[Ze+1|0]=Ye>>>8;o[Ze+2|0]=Ye>>>16;o[Ze+3|0]=Ye>>>24}function gd(Ye,Ze,pf,qf,rf){q[Ye+4>>2]=Ze;hd(Ye+8|0,pf,(qf<<2)+pf|0);u[Ye+20>>2]=rf}function hd(Ye,Ze,pf){var qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0;a:{tf=pf-Ze|0;sf=tf>>2;qf=q[Ye+8>>2];rf=q[Ye>>2];b:{if(sf>>>0<=qf-rf>>2>>>0){qf=q[Ye+4>>2]-rf|0;tf=qf>>2;qf=sf>>>0>tf>>>0?Ze+qf|0:pf;uf=qf-Ze|0;if(uf){En(rf,Ze,uf)}if(sf>>>0>tf>>>0){Ze=pf-qf|0;if((Ze|0)<1){break b}Ye=Ye+4|0;Cn(q[Ye>>2],qf,Ze);q[Ye>>2]=Ze+q[Ye>>2];return}q[Ye+4>>2]=rf+(uf>>2<<2);return}if(rf){q[Ye+4>>2]=rf;An(rf);q[Ye+8>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;qf=0}if(sf>>>0>=1073741824){break a}pf=qf>>1;pf=qf>>2>>>0<536870911?pf>>>0>>0?sf:pf:1073741823;if(pf>>>0>=1073741824){break a}rf=pf<<2;pf=Mm(rf);q[Ye>>2]=pf;sf=Ye+4|0;q[sf>>2]=pf;q[Ye+8>>2]=pf+rf;if((tf|0)<1){break b}vf=sf,wf=Cn(pf,Ze,tf)+tf|0,q[vf>>2]=wf}return}bn();F()}function id(Ye){Ye=Ye|0;var Ze=0;q[Ye>>2]=1232;Ze=q[Ye+8>>2];if(Ze){q[Ye+12>>2]=Ze;An(Ze)}return Ye|0}function jd(Ye){Ye=Ye|0;var pf=0;q[Ye>>2]=1232;pf=q[Ye+8>>2];if(pf){q[Ye+12>>2]=pf;An(pf)}An(Ye)}function kd(q){q=q|0;return 1}function ld(Ye,xf){var yf=0;yf=Mm(40);q[yf>>2]=-1;Uj(yf+8|0);n[q[q[Ye>>2]+16>>2]](Ye,yf);Ye=q[xf+88>>2];q[xf+88>>2]=yf;if(Ye){xf=q[Ye+8>>2];if(xf){q[Ye+12>>2]=xf;An(xf)}An(Ye)}return 1}function md(Ye,xf,zf){var Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0;Cf=q[Ye+8>>2];Af=q[Ye+4>>2];if(Cf-Af>>2>>>0>=xf>>>0){while(1){q[Af>>2]=q[zf>>2];Af=Af+4|0;xf=xf+ -1|0;if(xf){continue}break}q[Ye+4>>2]=Af;return}a:{Df=q[Ye>>2];Ef=Af-Df|0;Ff=Ef>>2;Af=Ff+xf|0;if(Af>>>0<1073741824){Cf=Cf-Df|0;Bf=Cf>>1;Af=Cf>>2>>>0<536870911?Bf>>>0>>0?Af:Bf:1073741823;Bf=0;b:{if(!Af){break b}if(Af>>>0>=1073741824){break a}Bf=Mm(Af<<2)}Cf=Bf+(Af<<2)|0;Af=Bf+(Ff<<2)|0;while(1){q[Af>>2]=q[zf>>2];Af=Af+4|0;xf=xf+ -1|0;if(xf){continue}break}if((Ef|0)>=1){Cn(Bf,Df,Ef)}q[Ye>>2]=Bf;q[Ye+8>>2]=Cf;q[Ye+4>>2]=Af;if(Df){An(Df)}return}bn();F()}ab(1308);F()}function nd(Ye){q[Ye+8>>2]=0;q[Ye+12>>2]=0;q[Ye>>2]=0;q[Ye+40>>2]=0;q[Ye+44>>2]=0;q[Ye+28>>2]=9;o[Ye+24|0]=1;q[Ye+56>>2]=-1;q[Ye+60>>2]=0;q[Ye+16>>2]=0;q[Ye+20>>2]=0;q[Ye+48>>2]=0;q[Ye+52>>2]=0;return Ye}function od(Ye,xf,zf,Gf,Hf,If,Jf){q[Ye>>2]=0;q[Ye+56>>2]=xf;q[Ye+48>>2]=0;q[Ye+52>>2]=0;q[Ye+40>>2]=If;q[Ye+44>>2]=Jf;o[Ye+32|0]=Hf;q[Ye+28>>2]=Gf;o[Ye+24|0]=zf}function pd(Ye,xf){var zf=0,Gf=0,Hf=0;Gf=q[Ye>>2];a:{if(!Gf){break a}zf=q[xf>>2];if(!zf){break a}Hf=Gf;Gf=q[zf>>2];Vj(Hf,Gf,q[zf+4>>2]-Gf|0,0);o[Ye+24|0]=r[xf+24|0];q[Ye+28>>2]=q[xf+28>>2];o[Ye+32|0]=r[xf+32|0];zf=q[xf+44>>2];q[Ye+40>>2]=q[xf+40>>2];q[Ye+44>>2]=zf;zf=q[xf+52>>2];q[Ye+48>>2]=q[xf+48>>2];q[Ye+52>>2]=zf;q[Ye+56>>2]=q[xf+56>>2];zf=q[xf+12>>2];q[Ye+8>>2]=q[xf+8>>2];q[Ye+12>>2]=zf;zf=q[xf+20>>2];q[Ye+16>>2]=q[xf+16>>2];q[Ye+20>>2]=zf;q[Ye+60>>2]=q[xf+60>>2];Hf=1}return Hf}function qd(Ye,xf,If,Jf){var Kf=0;q[Ye>>2]=xf;Kf=q[xf+20>>2];q[Ye+8>>2]=q[xf+16>>2];q[Ye+12>>2]=Kf;Kf=q[xf+24>>2];xf=q[xf+28>>2];q[Ye+48>>2]=0;q[Ye+52>>2]=0;q[Ye+40>>2]=If;q[Ye+44>>2]=Jf;q[Ye+16>>2]=Kf;q[Ye+20>>2]=xf}function rd(Ye){nd(Ye);q[Ye+64>>2]=0;q[Ye+68>>2]=0;q[Ye+88>>2]=0;q[Ye+72>>2]=0;q[Ye+76>>2]=0;o[Ye+77|0]=0;o[Ye+78|0]=0;o[Ye+79|0]=0;o[Ye+80|0]=0;o[Ye+81|0]=0;o[Ye+82|0]=0;o[Ye+83|0]=0;o[Ye+84|0]=0;return Ye}function sd(Ye,xf){var If=0;If=q[xf+4>>2];q[Ye>>2]=q[xf>>2];q[Ye+4>>2]=If;If=q[xf+60>>2];q[Ye+56>>2]=q[xf+56>>2];q[Ye+60>>2]=If;If=q[xf+52>>2];q[Ye+48>>2]=q[xf+48>>2];q[Ye+52>>2]=If;If=q[xf+44>>2];q[Ye+40>>2]=q[xf+40>>2];q[Ye+44>>2]=If;If=q[xf+36>>2];q[Ye+32>>2]=q[xf+32>>2];q[Ye+36>>2]=If;If=q[xf+28>>2];q[Ye+24>>2]=q[xf+24>>2];q[Ye+28>>2]=If;If=q[xf+20>>2];q[Ye+16>>2]=q[xf+16>>2];q[Ye+20>>2]=If;If=q[xf+12>>2];q[Ye+8>>2]=q[xf+8>>2];q[Ye+12>>2]=If;q[Ye+88>>2]=0;q[Ye+64>>2]=0;q[Ye+68>>2]=0;q[Ye+72>>2]=0;q[Ye+76>>2]=0;o[Ye+77|0]=0;o[Ye+78|0]=0;o[Ye+79|0]=0;o[Ye+80|0]=0;o[Ye+81|0]=0;o[Ye+82|0]=0;o[Ye+83|0]=0;o[Ye+84|0]=0}function td(Ye,xf){var Jf=0,Lf=0;a:{if(q[Ye+64>>2]){break a}Lf=Mm(32);Uj(Lf);Jf=q[Ye+64>>2];q[Ye+64>>2]=Lf;if(!Jf){break a}Lf=q[Jf>>2];if(Lf){q[Jf+4>>2]=Lf;An(Lf)}An(Jf)}Jf=bk(q[Ye+28>>2]);Jf=w(Jf,o[Ye+24|0]);Lf=Jf;Jf=Jf>>31;if(Vj(q[Ye+64>>2],0,$n(Lf,Jf,xf,0),V)){qd(Ye,q[Ye+64>>2],Lf,Jf);q[Ye+80>>2]=xf;Ye=1}else{Ye=0}return Ye}function ud(Ye,xf){var Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0;if(!q[Ye- -64>>2]){Mf=Mm(32);Uj(Mf);Of=q[Ye+64>>2];q[Ye+64>>2]=Mf;Nf=Ye;if(Of){Mf=q[Of>>2];if(Mf){q[Of+4>>2]=Mf;An(Mf)}An(Of);Mf=q[Ye+64>>2]}qd(Nf,Mf,0,0)}a:{b:{if(!pd(Ye,xf)){break b}o[Ye+84|0]=r[xf+84|0];q[Ye+80>>2]=q[xf+80>>2];if((Ye|0)!=(xf|0)){vd(Ye+68|0,q[xf+68>>2],q[xf+72>>2])}Mf=q[xf+88>>2];if(Mf){xf=Mm(40);Nf=q[Mf>>2];q[xf+16>>2]=0;q[xf+8>>2]=0;q[xf+12>>2]=0;q[xf>>2]=Nf;Nf=q[Mf+12>>2]-q[Mf+8>>2]|0;c:{if(!Nf){break c}if((Nf|0)<=-1){break a}Of=Mm(Nf);q[xf+8>>2]=Of;Pf=xf+12|0;q[Pf>>2]=Of;q[xf+16>>2]=Nf+Of;Qf=q[Mf+8>>2];Nf=q[Mf+12>>2]-Qf|0;if((Nf|0)<1){break c}Rf=Pf,Sf=Cn(Of,Qf,Nf)+Nf|0,q[Rf>>2]=Sf}Nf=q[Mf+36>>2];q[xf+32>>2]=q[Mf+32>>2];q[xf+36>>2]=Nf;Nf=q[Mf+28>>2];q[xf+24>>2]=q[Mf+24>>2];q[xf+28>>2]=Nf;Mf=q[Ye+88>>2];q[Ye+88>>2]=xf;if(!Mf){break b}Ye=q[Mf+8>>2];if(Ye){q[Mf+12>>2]=Ye;An(Ye)}An(Mf);return}xf=Ye+88|0;Ye=q[xf>>2];q[xf>>2]=0;if(!Ye){break b}xf=q[Ye+8>>2];if(xf){q[Ye+12>>2]=xf;An(xf)}An(Ye)}return}bn();F()}function vd(Ye,xf,Tf){var Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0;a:{Uf=Tf-xf|0;Wf=Uf>>2;Xf=q[Ye+8>>2];Vf=q[Ye>>2];b:{if(Wf>>>0<=Xf-Vf>>2>>>0){Yf=q[Ye+4>>2];Uf=Yf-Vf|0;Xf=Uf>>2;Uf=Wf>>>0>Xf>>>0?xf+Uf|0:Tf;if((Uf|0)!=(xf|0)){while(1){q[Vf>>2]=q[xf>>2];Vf=Vf+4|0;xf=xf+4|0;if((Uf|0)!=(xf|0)){continue}break}}if(Wf>>>0>Xf>>>0){xf=Tf-Uf|0;if((xf|0)<1){break b}Cn(Yf,Uf,xf);Ye=Ye+4|0;q[Ye>>2]=xf+q[Ye>>2];return}q[Ye+4>>2]=Vf;return}if(Vf){q[Ye+4>>2]=Vf;An(Vf);q[Ye+8>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;Xf=0}if(Wf>>>0>=1073741824){break a}Tf=Xf>>1;Tf=Xf>>2>>>0<536870911?Tf>>>0>>0?Wf:Tf:1073741823;if(Tf>>>0>=1073741824){break a}Vf=Tf<<2;Tf=Mm(Vf);q[Ye>>2]=Tf;Wf=Ye+4|0;q[Wf>>2]=Tf;q[Ye+8>>2]=Tf+Vf;if((Uf|0)<1){break b}Zf=Wf,_f=Cn(Tf,xf,Uf)+Uf|0,q[Zf>>2]=_f}return}bn();F()}function wd(Ye){q[Ye>>2]=1384;q[Ye+4>>2]=0;q[Ye+8>>2]=0;q[Ye+12>>2]=0;q[Ye+16>>2]=0;q[Ye+20>>2]=0;q[Ye+24>>2]=0;q[Ye+28>>2]=0;q[Ye+32>>2]=0}function xd(Ye,xf,Tf){Ye=Ye|0;xf=xf|0;Tf=Tf|0;q[Ye+32>>2]=Tf;q[Ye+28>>2]=xf;return 1}function yd(Ye,xf){Ye=Ye|0;xf=xf|0;var Tf=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0;cg=T-96|0;T=cg;a:{b:{if(r[q[Ye+28>>2]+36|0]<=1){eg=q[xf+12>>2];Tf=q[xf+20>>2];bg=q[xf+16>>2];$f=bg+4|0;if($f>>>0<4){Tf=Tf+1|0}dg=$f;$f=Tf;if((eg|0)<(Tf|0)?1:(eg|0)<=(Tf|0)?t[xf+8>>2]>=dg>>>0?0:1:0){break a}Tf=bg+q[xf>>2]|0;eg=r[Tf|0]|r[Tf+1|0]<<8|(r[Tf+2|0]<<16|r[Tf+3|0]<<24);q[cg+92>>2]=eg;q[xf+16>>2]=dg;q[xf+20>>2]=$f;break b}if(!zd(1,cg+92|0,xf)){break a}eg=q[cg+92>>2]}if(!eg){break a}$f=q[Ye+4>>2];Tf=q[Ye+8>>2]-$f>>2;c:{if(eg>>>0>Tf>>>0){Fa(Ye+4|0,eg-Tf|0);break c}if(eg>>>0>=Tf>>>0){break c}q[Ye+8>>2]=$f+(eg<<2)}lg=Ye+16|0;mg=q[Ye+32>>2];ng=Ye+20|0;while(1){gg=q[xf+8>>2];dg=q[xf+16>>2];bg=q[xf+12>>2];$f=bg;Tf=q[xf+20>>2];if(($f|0)<(Tf|0)?1:($f|0)<=(Tf|0)?gg>>>0>dg>>>0?0:1:0){ag=0;break a}ig=q[xf>>2];og=r[ig+dg|0];$f=Tf;fg=dg+1|0;if(fg>>>0<1){$f=$f+1|0}ag=xf;q[xf+16>>2]=fg;q[xf+20>>2]=$f;if((bg|0)<($f|0)?1:(bg|0)<=($f|0)?gg>>>0>fg>>>0?0:1:0){ag=0;break a}fg=r[fg+ig|0];$f=Tf;hg=dg+2|0;if(hg>>>0<2){$f=$f+1|0}q[xf+16>>2]=hg;q[ag+20>>2]=$f;if((bg|0)<($f|0)?1:(bg|0)<=($f|0)?gg>>>0>hg>>>0?0:1:0){ag=0;break a}hg=r[hg+ig|0];$f=Tf;jg=dg+3|0;if(jg>>>0<3){$f=$f+1|0}q[xf+16>>2]=jg;q[ag+20>>2]=$f;if((bg|0)<($f|0)?1:(bg|0)<=($f|0)?gg>>>0>jg>>>0?0:1:0){ag=0;break a}bg=r[jg+ig|0];$f=Tf;Tf=dg+4|0;if(Tf>>>0<4){$f=$f+1|0}q[xf+16>>2]=Tf;q[ag+20>>2]=$f;if(og>>>0>4){ag=0;break a}if((fg+ -1&255)>>>0>10){ag=0;break a}dg=nd(cg+24|0);Tf=w(bk(fg),hg);od(dg,og,hg<<24>>24,fg,(bg|0)!=0,Tf,Tf>>31);d:{Tf=s[q[Ye+28>>2]+36>>1];e:{if((Tf<<24|Tf<<8&16711680)>>>16>>>0<=258){ag=q[xf+12>>2];$f=q[xf+20>>2];bg=q[xf+16>>2];Tf=bg+2|0;if(Tf>>>0<2){$f=$f+1|0}gg=Tf;Tf=$f;if((ag|0)<(Tf|0)?1:(ag|0)<=(Tf|0)?t[xf+8>>2]>=gg>>>0?0:1:0){break d}$f=bg+q[xf>>2]|0;$f=r[$f|0]|r[$f+1|0]<<8;q[xf+16>>2]=gg;q[xf+20>>2]=Tf;q[cg+20>>2]=$f;break e}zd(1,cg+20|0,xf);$f=q[cg+20>>2]}q[cg+84>>2]=$f;Tf=Mm(96);sd(Tf,dg);q[cg+16>>2]=Tf;Tf=fl(mg,cg+16|0);ag=q[cg+16>>2];q[cg+16>>2]=0;if(ag){Hb(ag)}bg=Tf<<2;q[q[bg+q[mg+8>>2]>>2]+60>>2]=$f;q[q[Ye+4>>2]+(kg<<2)>>2]=Tf;$f=q[Ye+16>>2];ag=q[ng>>2]-$f>>2;f:{if((Tf|0)<(ag|0)){break f}q[cg+12>>2]=-1;Tf=Tf+1|0;if(Tf>>>0>ag>>>0){Ad(lg,Tf-ag|0,cg+12|0);$f=q[lg>>2];break f}if(Tf>>>0>=ag>>>0){break f}q[ng>>2]=(Tf<<2)+$f}q[$f+bg>>2]=kg;ag=1;kg=kg+1|0;if((kg|0)!=(eg|0)){continue}break a}break}ag=0}T=cg+96|0;return ag|0}function zd(Ye,xf,pg){var qg=0,rg=0,sg=0,tg=0;a:{if(Ye>>>0>5){break a}sg=q[pg+16>>2];qg=q[pg+12>>2];rg=q[pg+20>>2];if((qg|0)<(rg|0)?1:(qg|0)<=(rg|0)?t[pg+8>>2]>sg>>>0?0:1:0){break a}qg=r[sg+q[pg>>2]|0];sg=sg+1|0;if(sg>>>0<1){rg=rg+1|0}q[pg+16>>2]=sg;q[pg+20>>2]=rg;rg=xf;if(qg&128){if(!zd(Ye+1|0,xf,pg)){break a}Ye=q[xf>>2]<<7;q[xf>>2]=Ye;qg=Ye|qg&127}q[rg>>2]=qg;tg=1}return tg}function Ad(Ye,xf,pg){var ug=0,vg=0,wg=0,xg=0,yg=0,zg=0;wg=q[Ye+8>>2];ug=q[Ye+4>>2];if(wg-ug>>2>>>0>=xf>>>0){while(1){q[ug>>2]=q[pg>>2];ug=ug+4|0;xf=xf+ -1|0;if(xf){continue}break}q[Ye+4>>2]=ug;return}a:{xg=q[Ye>>2];yg=ug-xg|0;zg=yg>>2;ug=zg+xf|0;if(ug>>>0<1073741824){wg=wg-xg|0;vg=wg>>1;ug=wg>>2>>>0<536870911?vg>>>0>>0?ug:vg:1073741823;vg=0;b:{if(!ug){break b}if(ug>>>0>=1073741824){break a}vg=Mm(ug<<2)}wg=vg+(ug<<2)|0;ug=vg+(zg<<2)|0;while(1){q[ug>>2]=q[pg>>2];ug=ug+4|0;xf=xf+ -1|0;if(xf){continue}break}if((yg|0)>=1){Cn(vg,xg,yg)}q[Ye>>2]=vg;q[Ye+8>>2]=wg;q[Ye+4>>2]=ug;if(xg){An(xg)}return}bn();F()}ab(1520);F()}function Bd(Ye){Ye=Ye|0;var xf=0;q[Ye>>2]=1384;xf=q[Ye+16>>2];if(xf){q[Ye+20>>2]=xf;An(xf)}xf=q[Ye+4>>2];if(xf){q[Ye+8>>2]=xf;An(xf)}return Ye|0}function Cd(q){q=q|0;F()}function Dd(Ye,pg){Ye=Ye|0;pg=pg|0;var Ag=0;a:{if(!n[q[q[Ye>>2]+36>>2]](Ye,pg)){break a}if(!n[q[q[Ye>>2]+40>>2]](Ye,pg)){break a}Ag=n[q[q[Ye>>2]+44>>2]](Ye)|0}return Ag|0}function Ed(Ye,pg){Ye=Ye|0;pg=pg|0;return q[q[Ye+4>>2]+(pg<<2)>>2]}function Fd(Ye){Ye=Ye|0;return q[Ye+8>>2]-q[Ye+4>>2]>>2}function Gd(q,Ye){q=q|0;Ye=Ye|0;return 0}function Hd(q,Ye){q=q|0;Ye=Ye|0;return 1}function Id(Ye){wd(Ye);q[Ye+36>>2]=0;q[Ye+40>>2]=0;q[Ye>>2]=1596;q[Ye+44>>2]=0;q[Ye+48>>2]=0;q[Ye+52>>2]=0;q[Ye+56>>2]=0;q[Ye+60>>2]=0;q[Ye+64>>2]=0;q[Ye+68>>2]=0}function Jd(Ye,pg){Ye=Ye|0;pg=pg|0;var Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0;Cg=T-704|0;T=Cg;Dg=1;a:{b:{if(s[pg+38>>1]<515){break b}Dg=0;Eg=q[pg+16>>2];Hg=q[pg+12>>2];Bg=q[pg+20>>2];if((Hg|0)<(Bg|0)?1:(Hg|0)<=(Bg|0)?t[pg+8>>2]>Eg>>>0?0:1:0){break b}Jg=r[Eg+q[pg>>2]|0];Eg=Eg+1|0;if(Eg>>>0<1){Bg=Bg+1|0}q[pg+16>>2]=Eg;q[pg+20>>2]=Bg;Kg=q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+80>>2];Bg=n[q[q[Ye>>2]+24>>2]](Ye)|0;q[Cg+696>>2]=0;q[Cg+688>>2]=0;q[Cg+692>>2]=0;if(Bg){if(Bg>>>0>=214748365){break a}Eg=w(Bg,20);Dg=Mm(Eg);q[Cg+688>>2]=Dg;q[Cg+692>>2]=Dg;q[Cg+696>>2]=Dg+Eg;Dn(Dg,0,Eg);while(1){Dg=Dg+20|0;Bg=Bg+ -1|0;if(Bg){continue}break}q[Cg+692>>2]=Dg}Ng=Ye+48|0;Og=Ye+60|0;Pg=Ye+56|0;Lg=Ye+52|0;Qg=Ye+68|0;Hg=Ye- -64|0;c:{while(1){if((Ig|0)<(n[q[q[Ye>>2]+24>>2]](Ye)|0)){Bg=n[q[q[Ye>>2]+20>>2]](Ye,Ig)|0;Eg=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(Bg<<2)>>2];td(Eg,Kg);o[Eg+84|0]=1;q[Eg+72>>2]=q[Eg+68>>2];Dg=0;Bg=q[Eg+28>>2];if(Bg>>>0>9){break c}d:{e:{f:{Fg=1<>2];Eg=Bg;Bg=w(bk(6),Bg);od(Dg,Fg,Eg,6,0,Bg,Bg>>31);Bg=Mm(96);sd(Bg,Dg);q[Cg+656>>2]=Bg;o[Bg+84|0]=1;q[Bg+72>>2]=q[Bg+68>>2];td(Bg,Kg);Bg=q[Hg>>2];if(Bg>>>0>=t[Qg>>2]){break f}Dg=q[Cg+656>>2];q[Cg+656>>2]=0;q[Bg>>2]=Dg;Bg=Bg+4|0;q[Hg>>2]=Bg;break e}Bg=0;Fg=Eg+24|0;if(o[Fg|0]<=0){break d}while(1){q[Cg>>2]=0;Dg=q[Lg>>2];g:{if(Dg>>>0>2]){q[Dg>>2]=0;q[Lg>>2]=Dg+4;break g}ya(Ng,Cg)}Bg=Bg+1|0;if((Bg|0)>2]}Eg=q[Bg+ -4>>2];Bg=q[Cg+656>>2];q[Cg+656>>2]=0;if(!Bg){break d}Hb(Bg)}Fg=q[Eg+28>>2];Dg=bk(Fg);Bg=q[Cg+688>>2]+w(Ig,20)|0;Mg=o[Eg+24|0];q[Bg+16>>2]=Mg;q[Bg+12>>2]=(Dg|0)>0?Dg:0;q[Bg+8>>2]=Fg;q[Bg+4>>2]=Gg;q[Bg>>2]=Eg;Ig=Ig+1|0;Gg=Gg+Mg|0;continue}break}Dg=0;Ye=Ld(Cg+656|0,Cg+688|0);h:{if(Jg>>>0>6){break h}i:{j:{switch(Jg-1|0){default:Bg=Od(Cg,Gg);pg=Md(Bg,pg,Ye);Nd(Bg);if(pg){break i}break h;case 0:Bg=Od(Cg,Gg);pg=Pd(Bg,pg,Ye);Nd(Bg);if(pg){break i}break h;case 1:Bg=Sd(Cg,Gg);pg=Qd(Bg,pg,Ye);Rd(Bg);if(pg){break i}break h;case 2:Bg=Sd(Cg,Gg);pg=Td(Bg,pg,Ye);Rd(Bg);if(pg){break i}break h;case 3:Bg=Wd(Cg,Gg);pg=Ud(Bg,pg,Ye);Vd(Bg);if(pg){break i}break h;case 4:Bg=Wd(Cg,Gg);pg=Xd(Bg,pg,Ye);Vd(Bg);if(pg){break i}break h;case 5:break j}}Bg=Wd(Cg,Gg);pg=Yd(Bg,pg,Ye);Vd(Bg);if(!pg){break h}}Dg=1}pg=q[Ye+16>>2];if(pg){q[Ye+20>>2]=pg;An(pg)}pg=q[Ye>>2];if(!pg){break c}q[Ye+4>>2]=pg;An(pg)}Ye=q[Cg+688>>2];if(!Ye){break b}q[Cg+692>>2]=Ye;An(Ye)}T=Cg+704|0;return Dg|0}bn();F()}function Kd(Ye,pg){var Rg=0,Sg=0,Tg=0,Ug=0,Vg=0;a:{b:{c:{Tg=q[Ye>>2];Ug=q[Ye+4>>2]-Tg>>2;Rg=Ug+1|0;if(Rg>>>0<1073741824){Tg=q[Ye+8>>2]-Tg|0;Vg=Tg>>1;Rg=Tg>>2>>>0<536870911?Vg>>>0>>0?Rg:Vg:1073741823;if(Rg){if(Rg>>>0>=1073741824){break c}Sg=Mm(Rg<<2)}Tg=q[pg>>2];q[pg>>2]=0;pg=(Ug<<2)+Sg|0;q[pg>>2]=Tg;Tg=(Rg<<2)+Sg|0;Ug=pg+4|0;Rg=q[Ye+4>>2];Sg=q[Ye>>2];if((Rg|0)==(Sg|0)){break b}while(1){Rg=Rg+ -4|0;Vg=q[Rg>>2];q[Rg>>2]=0;pg=pg+ -4|0;q[pg>>2]=Vg;if((Rg|0)!=(Sg|0)){continue}break}Sg=q[Ye+4>>2];Rg=q[Ye>>2];break a}bn();F()}ab(1780);F()}Rg=Sg}q[Ye>>2]=pg;q[Ye+8>>2]=Tg;q[Ye+4>>2]=Ug;if((Rg|0)!=(Sg|0)){while(1){Sg=Sg+ -4|0;Ye=q[Sg>>2];q[Sg>>2]=0;if(Ye){Hb(Ye)}if((Rg|0)!=(Sg|0)){continue}break}}if(Rg){An(Rg)}}function Ld(Ye,pg){var Wg=0,Xg=0,Yg=0,Zg=0,_g=0;q[Ye+16>>2]=0;q[Ye+20>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;q[Ye+24>>2]=0;q[Ye+8>>2]=0;Wg=q[pg+4>>2]-q[pg>>2]|0;Yg=(Wg|0)/20|0;a:{b:{if(Wg){if(Yg>>>0>=214748365){break a}Wg=Mm(Wg);q[Ye+16>>2]=Wg;Xg=Ye+20|0;q[Xg>>2]=Wg;q[Ye+24>>2]=Wg+w(Yg,20);Yg=q[pg>>2];pg=q[pg+4>>2]-Yg|0;if((pg|0)>0){break b}}q[Ye+28>>2]=0;q[Ye+12>>2]=0;return Ye}Yg=Cn(Wg,Yg,pg);q[Ye+28>>2]=0;_g=Xg;Xg=w((pg>>>0)/20|0,20);Wg=Xg+Yg|0;q[_g>>2]=Wg;pg=0;_g=Ye;if(Xg){Wg=(Wg-Yg|0)/20|0;Xg=0;while(1){Zg=w(Xg,20)+Yg|0;Zg=w(q[Zg+16>>2],q[Zg+12>>2]);pg=pg>>>0>>0?Zg:pg;Xg=Xg+1|0;if(Xg>>>0>>0){continue}break}if(!pg){q[Ye+12>>2]=0;return Ye}Ha(Ye,pg);pg=q[Ye>>2]}else{pg=0}q[_g+12>>2]=pg;return Ye}bn();F()}function Md(Ye,pg,ah){var bh=0,ch=0,dh=0,eh=0,fh=0,gh=0;ch=q[pg+12>>2];a:{dh=q[pg+20>>2];eh=q[pg+16>>2];bh=eh+4|0;if(bh>>>0<4){dh=dh+1|0}if((ch|0)<(dh|0)?1:(ch|0)<=(dh|0)?t[pg+8>>2]>=bh>>>0?0:1:0){break a}bh=eh+q[pg>>2]|0;bh=r[bh|0]|r[bh+1|0]<<8|(r[bh+2|0]<<16|r[bh+3|0]<<24);q[Ye>>2]=bh;ch=q[pg+20>>2];eh=ch;fh=q[pg+16>>2];dh=fh+4|0;if(dh>>>0<4){ch=ch+1|0}q[pg+16>>2]=dh;q[pg+20>>2]=ch;if(bh>>>0>32){break a}ch=q[pg+12>>2];bh=fh+8|0;if(bh>>>0<8){eh=eh+1|0}if((ch|0)<(eh|0)?1:(ch|0)<=(eh|0)?t[pg+8>>2]>=bh>>>0?0:1:0){break a}bh=dh+q[pg>>2]|0;ch=r[bh|0]|r[bh+1|0]<<8|(r[bh+2|0]<<16|r[bh+3|0]<<24);q[Ye+4>>2]=ch;dh=q[pg+20>>2];eh=q[pg+16>>2]+4|0;if(eh>>>0<4){dh=dh+1|0}q[pg+16>>2]=eh;q[pg+20>>2]=dh;if(!ch){gh=1;break a}q[Ye+8>>2]=0;if(!$g(Ye+16|0,pg)){break a}if(!$g(Ye+36|0,pg)){break a}if(!$g(Ye+56|0,pg)){break a}if(!$g(Ye+76|0,pg)){break a}return Zd(Ye,q[Ye+4>>2],ah)}return gh}function Nd(Ye){var pg=0,$g=0,ah=0,hh=0,ih=0;ah=q[Ye+132>>2];if(ah){ih=Ye+136|0;pg=q[ih>>2];$g=ah;a:{if((ah|0)==(pg|0)){break a}while(1){$g=pg+ -12|0;hh=q[$g>>2];if(hh){q[pg+ -8>>2]=hh;An(hh)}pg=$g;if((pg|0)!=(ah|0)){continue}break}$g=q[Ye+132>>2]}q[ih>>2]=ah;An($g)}ah=q[Ye+120>>2];if(ah){ih=Ye+124|0;pg=q[ih>>2];$g=ah;b:{if((ah|0)==(pg|0)){break b}while(1){$g=pg+ -12|0;hh=q[$g>>2];if(hh){q[pg+ -8>>2]=hh;An(hh)}pg=$g;if((pg|0)!=(ah|0)){continue}break}$g=q[Ye+120>>2]}q[ih>>2]=ah;An($g)}pg=q[Ye+108>>2];if(pg){q[Ye+112>>2]=pg;An(pg)}pg=q[Ye+96>>2];if(pg){q[Ye+100>>2]=pg;An(pg)}_g(Ye+76|0);_g(Ye+56|0);_g(Ye+36|0);_g(Ye+16|0)}function Od(Ye,jh){var kh=0,lh=0,mh=0,nh=0;mh=T-16|0;T=mh;q[Ye+12>>2]=jh;q[Ye+8>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;Zg(Ye+16|0);Zg(Ye+36|0);Zg(Ye+56|0);Zg(Ye+76|0);q[Ye+104>>2]=0;q[Ye+96>>2]=0;q[Ye+100>>2]=0;a:{b:{c:{if(jh){if(jh>>>0>=1073741824){break c}kh=jh<<2;lh=Mm(kh);q[Ye+96>>2]=lh;q[Ye+100>>2]=lh;q[Ye+104>>2]=lh+kh;Dn(lh,0,kh);kh=jh;while(1){lh=lh+4|0;kh=kh+ -1|0;if(kh){continue}break}q[Ye+100>>2]=lh}q[Ye+108>>2]=0;q[Ye+112>>2]=0;q[Ye+116>>2]=0;if(jh){if(jh>>>0>=1073741824){break b}kh=jh<<2;lh=Mm(kh);q[Ye+108>>2]=lh;q[Ye+112>>2]=lh;q[Ye+116>>2]=lh+kh;Dn(lh,0,kh);kh=jh;while(1){lh=lh+4|0;kh=kh+ -1|0;if(kh){continue}break}q[Ye+112>>2]=lh}q[mh+8>>2]=0;q[mh>>2]=0;q[mh+4>>2]=0;if(jh){if(jh>>>0>=1073741824){break a}kh=jh<<2;lh=Mm(kh);q[mh>>2]=lh;q[mh+4>>2]=lh;q[mh+8>>2]=lh+kh;Dn(lh,0,kh);kh=jh;while(1){lh=lh+4|0;kh=kh+ -1|0;if(kh){continue}break}q[mh+4>>2]=lh}nh=jh<<5|1;_d(Ye+120|0,nh,mh);kh=q[mh>>2];if(kh){q[mh+4>>2]=kh;An(kh)}q[mh+8>>2]=0;q[mh>>2]=0;q[mh+4>>2]=0;if(jh){if(jh>>>0>=1073741824){break a}kh=jh<<2;lh=Mm(kh);q[mh>>2]=lh;q[mh+4>>2]=lh;q[mh+8>>2]=lh+kh;Dn(lh,0,kh);while(1){lh=lh+4|0;jh=jh+ -1|0;if(jh){continue}break}q[mh+4>>2]=lh}_d(Ye+132|0,nh,mh);jh=q[mh>>2];if(jh){q[mh+4>>2]=jh;An(jh)}T=mh+16|0;return Ye}bn();F()}bn();F()}bn();F()}function Pd(Ye,jh,oh){var ph=0,qh=0,rh=0,sh=0,th=0,uh=0;qh=q[jh+12>>2];a:{rh=q[jh+20>>2];sh=q[jh+16>>2];ph=sh+4|0;if(ph>>>0<4){rh=rh+1|0}if((qh|0)<(rh|0)?1:(qh|0)<=(rh|0)?t[jh+8>>2]>=ph>>>0?0:1:0){break a}ph=sh+q[jh>>2]|0;ph=r[ph|0]|r[ph+1|0]<<8|(r[ph+2|0]<<16|r[ph+3|0]<<24);q[Ye>>2]=ph;qh=q[jh+20>>2];sh=qh;th=q[jh+16>>2];rh=th+4|0;if(rh>>>0<4){qh=qh+1|0}q[jh+16>>2]=rh;q[jh+20>>2]=qh;if(ph>>>0>32){break a}qh=q[jh+12>>2];ph=th+8|0;if(ph>>>0<8){sh=sh+1|0}if((qh|0)<(sh|0)?1:(qh|0)<=(sh|0)?t[jh+8>>2]>=ph>>>0?0:1:0){break a}ph=rh+q[jh>>2]|0;qh=r[ph|0]|r[ph+1|0]<<8|(r[ph+2|0]<<16|r[ph+3|0]<<24);q[Ye+4>>2]=qh;rh=q[jh+20>>2];sh=q[jh+16>>2]+4|0;if(sh>>>0<4){rh=rh+1|0}q[jh+16>>2]=sh;q[jh+20>>2]=rh;if(!qh){uh=1;break a}q[Ye+8>>2]=0;if(!$g(Ye+16|0,jh)){break a}if(!$g(Ye+36|0,jh)){break a}if(!$g(Ye+56|0,jh)){break a}if(!$g(Ye+76|0,jh)){break a}return $d(Ye,q[Ye+4>>2],oh)}return uh}function Qd(Ye,jh,oh){var vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0;wh=q[jh+12>>2];a:{xh=q[jh+20>>2];yh=q[jh+16>>2];vh=yh+4|0;if(vh>>>0<4){xh=xh+1|0}if((wh|0)<(xh|0)?1:(wh|0)<=(xh|0)?t[jh+8>>2]>=vh>>>0?0:1:0){break a}vh=yh+q[jh>>2]|0;vh=r[vh|0]|r[vh+1|0]<<8|(r[vh+2|0]<<16|r[vh+3|0]<<24);q[Ye>>2]=vh;wh=q[jh+20>>2];yh=wh;zh=q[jh+16>>2];xh=zh+4|0;if(xh>>>0<4){wh=wh+1|0}q[jh+16>>2]=xh;q[jh+20>>2]=wh;if(vh>>>0>32){break a}wh=q[jh+12>>2];vh=zh+8|0;if(vh>>>0<8){yh=yh+1|0}if((wh|0)<(yh|0)?1:(wh|0)<=(yh|0)?t[jh+8>>2]>=vh>>>0?0:1:0){break a}vh=xh+q[jh>>2]|0;wh=r[vh|0]|r[vh+1|0]<<8|(r[vh+2|0]<<16|r[vh+3|0]<<24);q[Ye+4>>2]=wh;xh=q[jh+20>>2];yh=q[jh+16>>2]+4|0;if(yh>>>0<4){xh=xh+1|0}q[jh+16>>2]=yh;q[jh+20>>2]=xh;if(!wh){Ah=1;break a}q[Ye+8>>2]=0;if(!bh(Ye+16|0,jh)){break a}if(!$g(Ye+32|0,jh)){break a}if(!$g(Ye+52|0,jh)){break a}if(!$g(Ye+72|0,jh)){break a}return ae(Ye,q[Ye+4>>2],oh)}return Ah}function Rd(Ye){var jh=0,oh=0,Bh=0,Ch=0,Dh=0;Bh=q[Ye+128>>2];if(Bh){Dh=Ye+132|0;jh=q[Dh>>2];oh=Bh;a:{if((Bh|0)==(jh|0)){break a}while(1){oh=jh+ -12|0;Ch=q[oh>>2];if(Ch){q[jh+ -8>>2]=Ch;An(Ch)}jh=oh;if((jh|0)!=(Bh|0)){continue}break}oh=q[Ye+128>>2]}q[Dh>>2]=Bh;An(oh)}Bh=q[Ye+116>>2];if(Bh){Dh=Ye+120|0;jh=q[Dh>>2];oh=Bh;b:{if((Bh|0)==(jh|0)){break b}while(1){oh=jh+ -12|0;Ch=q[oh>>2];if(Ch){q[jh+ -8>>2]=Ch;An(Ch)}jh=oh;if((jh|0)!=(Bh|0)){continue}break}oh=q[Ye+116>>2]}q[Dh>>2]=Bh;An(oh)}jh=q[Ye+104>>2];if(jh){q[Ye+108>>2]=jh;An(jh)}jh=q[Ye+92>>2];if(jh){q[Ye+96>>2]=jh;An(jh)}_g(Ye+72|0);_g(Ye+52|0);_g(Ye+32|0)}function Sd(Ye,Eh){var Fh=0,Gh=0,Hh=0,Ih=0;Hh=T-16|0;T=Hh;q[Ye+12>>2]=Eh;q[Ye+8>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;ah(Ye+16|0);Zg(Ye+32|0);Zg(Ye+52|0);Zg(Ye+72|0);q[Ye+100>>2]=0;q[Ye+92>>2]=0;q[Ye+96>>2]=0;a:{b:{c:{if(Eh){if(Eh>>>0>=1073741824){break c}Fh=Eh<<2;Gh=Mm(Fh);q[Ye+92>>2]=Gh;q[Ye+96>>2]=Gh;q[Ye+100>>2]=Gh+Fh;Dn(Gh,0,Fh);Fh=Eh;while(1){Gh=Gh+4|0;Fh=Fh+ -1|0;if(Fh){continue}break}q[Ye+96>>2]=Gh}q[Ye+104>>2]=0;q[Ye+108>>2]=0;q[Ye+112>>2]=0;if(Eh){if(Eh>>>0>=1073741824){break b}Fh=Eh<<2;Gh=Mm(Fh);q[Ye+104>>2]=Gh;q[Ye+108>>2]=Gh;q[Ye+112>>2]=Gh+Fh;Dn(Gh,0,Fh);Fh=Eh;while(1){Gh=Gh+4|0;Fh=Fh+ -1|0;if(Fh){continue}break}q[Ye+108>>2]=Gh}q[Hh+8>>2]=0;q[Hh>>2]=0;q[Hh+4>>2]=0;if(Eh){if(Eh>>>0>=1073741824){break a}Fh=Eh<<2;Gh=Mm(Fh);q[Hh>>2]=Gh;q[Hh+4>>2]=Gh;q[Hh+8>>2]=Gh+Fh;Dn(Gh,0,Fh);Fh=Eh;while(1){Gh=Gh+4|0;Fh=Fh+ -1|0;if(Fh){continue}break}q[Hh+4>>2]=Gh}Ih=Eh<<5|1;_d(Ye+116|0,Ih,Hh);Fh=q[Hh>>2];if(Fh){q[Hh+4>>2]=Fh;An(Fh)}q[Hh+8>>2]=0;q[Hh>>2]=0;q[Hh+4>>2]=0;if(Eh){if(Eh>>>0>=1073741824){break a}Fh=Eh<<2;Gh=Mm(Fh);q[Hh>>2]=Gh;q[Hh+4>>2]=Gh;q[Hh+8>>2]=Gh+Fh;Dn(Gh,0,Fh);while(1){Gh=Gh+4|0;Eh=Eh+ -1|0;if(Eh){continue}break}q[Hh+4>>2]=Gh}_d(Ye+128|0,Ih,Hh);Eh=q[Hh>>2];if(Eh){q[Hh+4>>2]=Eh;An(Eh)}T=Hh+16|0;return Ye}bn();F()}bn();F()}bn();F()}function Td(Ye,Eh,Jh){var Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0;Lh=q[Eh+12>>2];a:{Mh=q[Eh+20>>2];Nh=q[Eh+16>>2];Kh=Nh+4|0;if(Kh>>>0<4){Mh=Mh+1|0}if((Lh|0)<(Mh|0)?1:(Lh|0)<=(Mh|0)?t[Eh+8>>2]>=Kh>>>0?0:1:0){break a}Kh=Nh+q[Eh>>2]|0;Kh=r[Kh|0]|r[Kh+1|0]<<8|(r[Kh+2|0]<<16|r[Kh+3|0]<<24);q[Ye>>2]=Kh;Lh=q[Eh+20>>2];Nh=Lh;Oh=q[Eh+16>>2];Mh=Oh+4|0;if(Mh>>>0<4){Lh=Lh+1|0}q[Eh+16>>2]=Mh;q[Eh+20>>2]=Lh;if(Kh>>>0>32){break a}Lh=q[Eh+12>>2];Kh=Oh+8|0;if(Kh>>>0<8){Nh=Nh+1|0}if((Lh|0)<(Nh|0)?1:(Lh|0)<=(Nh|0)?t[Eh+8>>2]>=Kh>>>0?0:1:0){break a}Kh=Mh+q[Eh>>2]|0;Lh=r[Kh|0]|r[Kh+1|0]<<8|(r[Kh+2|0]<<16|r[Kh+3|0]<<24);q[Ye+4>>2]=Lh;Mh=q[Eh+20>>2];Nh=q[Eh+16>>2]+4|0;if(Nh>>>0<4){Mh=Mh+1|0}q[Eh+16>>2]=Nh;q[Eh+20>>2]=Mh;if(!Lh){Ph=1;break a}q[Ye+8>>2]=0;if(!bh(Ye+16|0,Eh)){break a}if(!$g(Ye+32|0,Eh)){break a}if(!$g(Ye+52|0,Eh)){break a}if(!$g(Ye+72|0,Eh)){break a}return be(Ye,q[Ye+4>>2],Jh)}return Ph}function Ud(Ye,Eh,Jh){var Qh=0,Rh=0,Sh=0,Th=0,Uh=0,Vh=0;Rh=q[Eh+12>>2];a:{Sh=q[Eh+20>>2];Th=q[Eh+16>>2];Qh=Th+4|0;if(Qh>>>0<4){Sh=Sh+1|0}if((Rh|0)<(Sh|0)?1:(Rh|0)<=(Sh|0)?t[Eh+8>>2]>=Qh>>>0?0:1:0){break a}Qh=Th+q[Eh>>2]|0;Qh=r[Qh|0]|r[Qh+1|0]<<8|(r[Qh+2|0]<<16|r[Qh+3|0]<<24);q[Ye>>2]=Qh;Rh=q[Eh+20>>2];Th=Rh;Uh=q[Eh+16>>2];Sh=Uh+4|0;if(Sh>>>0<4){Rh=Rh+1|0}q[Eh+16>>2]=Sh;q[Eh+20>>2]=Rh;if(Qh>>>0>32){break a}Rh=q[Eh+12>>2];Qh=Uh+8|0;if(Qh>>>0<8){Th=Th+1|0}if((Rh|0)<(Th|0)?1:(Rh|0)<=(Th|0)?t[Eh+8>>2]>=Qh>>>0?0:1:0){break a}Qh=Sh+q[Eh>>2]|0;Rh=r[Qh|0]|r[Qh+1|0]<<8|(r[Qh+2|0]<<16|r[Qh+3|0]<<24);q[Ye+4>>2]=Rh;Sh=q[Eh+20>>2];Th=q[Eh+16>>2]+4|0;if(Th>>>0<4){Sh=Sh+1|0}q[Eh+16>>2]=Th;q[Eh+20>>2]=Sh;if(!Rh){Vh=1;break a}q[Ye+8>>2]=0;Qh=0;while(1){if(!bh(((Qh<<4)+Ye|0)+16|0,Eh)){break a}Qh=Qh+1|0;if((Qh|0)!=32){continue}break}if(!bh(Ye+528|0,Eh)){break a}if(!$g(Ye+544|0,Eh)){break a}if(!$g(Ye+564|0,Eh)){break a}if(!$g(Ye+584|0,Eh)){break a}return ce(Ye,q[Ye+4>>2],Jh)}return Vh}function Vd(Ye){var Eh=0,Jh=0,Wh=0,Xh=0,Yh=0;Wh=q[Ye+640>>2];if(Wh){Yh=Ye+644|0;Eh=q[Yh>>2];Jh=Wh;a:{if((Wh|0)==(Eh|0)){break a}while(1){Jh=Eh+ -12|0;Xh=q[Jh>>2];if(Xh){q[Eh+ -8>>2]=Xh;An(Xh)}Eh=Jh;if((Eh|0)!=(Wh|0)){continue}break}Jh=q[Ye+640>>2]}q[Yh>>2]=Wh;An(Jh)}Wh=q[Ye+628>>2];if(Wh){Yh=Ye+632|0;Eh=q[Yh>>2];Jh=Wh;b:{if((Wh|0)==(Eh|0)){break b}while(1){Jh=Eh+ -12|0;Xh=q[Jh>>2];if(Xh){q[Eh+ -8>>2]=Xh;An(Xh)}Eh=Jh;if((Eh|0)!=(Wh|0)){continue}break}Jh=q[Ye+628>>2]}q[Yh>>2]=Wh;An(Jh)}Eh=q[Ye+616>>2];if(Eh){q[Ye+620>>2]=Eh;An(Eh)}Eh=q[Ye+604>>2];if(Eh){q[Ye+608>>2]=Eh;An(Eh)}_g(Ye+584|0);_g(Ye+564|0);_g(Ye+544|0)}function Wd(Ye,Zh){var _h=0,$h=0,ai=0,bi=0;ai=T-16|0;T=ai;q[Ye+12>>2]=Zh;q[Ye+8>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;de(Ye+16|0);ah(Ye+528|0);Zg(Ye+544|0);Zg(Ye+564|0);Zg(Ye+584|0);q[Ye+612>>2]=0;q[Ye+604>>2]=0;q[Ye+608>>2]=0;a:{b:{c:{if(Zh){if(Zh>>>0>=1073741824){break c}_h=Zh<<2;$h=Mm(_h);q[Ye+604>>2]=$h;q[Ye+608>>2]=$h;q[Ye+612>>2]=$h+_h;Dn($h,0,_h);_h=Zh;while(1){$h=$h+4|0;_h=_h+ -1|0;if(_h){continue}break}q[Ye+608>>2]=$h}q[Ye+616>>2]=0;q[Ye+620>>2]=0;q[Ye+624>>2]=0;if(Zh){if(Zh>>>0>=1073741824){break b}_h=Zh<<2;$h=Mm(_h);q[Ye+616>>2]=$h;q[Ye+620>>2]=$h;q[Ye+624>>2]=$h+_h;Dn($h,0,_h);_h=Zh;while(1){$h=$h+4|0;_h=_h+ -1|0;if(_h){continue}break}q[Ye+620>>2]=$h}q[ai+8>>2]=0;q[ai>>2]=0;q[ai+4>>2]=0;if(Zh){if(Zh>>>0>=1073741824){break a}_h=Zh<<2;$h=Mm(_h);q[ai>>2]=$h;q[ai+4>>2]=$h;q[ai+8>>2]=$h+_h;Dn($h,0,_h);_h=Zh;while(1){$h=$h+4|0;_h=_h+ -1|0;if(_h){continue}break}q[ai+4>>2]=$h}bi=Zh<<5|1;_d(Ye+628|0,bi,ai);_h=q[ai>>2];if(_h){q[ai+4>>2]=_h;An(_h)}q[ai+8>>2]=0;q[ai>>2]=0;q[ai+4>>2]=0;if(Zh){if(Zh>>>0>=1073741824){break a}_h=Zh<<2;$h=Mm(_h);q[ai>>2]=$h;q[ai+4>>2]=$h;q[ai+8>>2]=$h+_h;Dn($h,0,_h);while(1){$h=$h+4|0;Zh=Zh+ -1|0;if(Zh){continue}break}q[ai+4>>2]=$h}_d(Ye+640|0,bi,ai);Zh=q[ai>>2];if(Zh){q[ai+4>>2]=Zh;An(Zh)}T=ai+16|0;return Ye}bn();F()}bn();F()}bn();F()}function Xd(Ye,Zh,ci){var di=0,ei=0,fi=0,gi=0,hi=0,ii=0;ei=q[Zh+12>>2];a:{fi=q[Zh+20>>2];gi=q[Zh+16>>2];di=gi+4|0;if(di>>>0<4){fi=fi+1|0}if((ei|0)<(fi|0)?1:(ei|0)<=(fi|0)?t[Zh+8>>2]>=di>>>0?0:1:0){break a}di=gi+q[Zh>>2]|0;di=r[di|0]|r[di+1|0]<<8|(r[di+2|0]<<16|r[di+3|0]<<24);q[Ye>>2]=di;ei=q[Zh+20>>2];gi=ei;hi=q[Zh+16>>2];fi=hi+4|0;if(fi>>>0<4){ei=ei+1|0}q[Zh+16>>2]=fi;q[Zh+20>>2]=ei;if(di>>>0>32){break a}ei=q[Zh+12>>2];di=hi+8|0;if(di>>>0<8){gi=gi+1|0}if((ei|0)<(gi|0)?1:(ei|0)<=(gi|0)?t[Zh+8>>2]>=di>>>0?0:1:0){break a}di=fi+q[Zh>>2]|0;ei=r[di|0]|r[di+1|0]<<8|(r[di+2|0]<<16|r[di+3|0]<<24);q[Ye+4>>2]=ei;fi=q[Zh+20>>2];gi=q[Zh+16>>2]+4|0;if(gi>>>0<4){fi=fi+1|0}q[Zh+16>>2]=gi;q[Zh+20>>2]=fi;if(!ei){ii=1;break a}q[Ye+8>>2]=0;di=0;while(1){if(!bh(((di<<4)+Ye|0)+16|0,Zh)){break a}di=di+1|0;if((di|0)!=32){continue}break}if(!bh(Ye+528|0,Zh)){break a}if(!$g(Ye+544|0,Zh)){break a}if(!$g(Ye+564|0,Zh)){break a}if(!$g(Ye+584|0,Zh)){break a}return ee(Ye,q[Ye+4>>2],ci)}return ii}function Yd(Ye,Zh,ci){var ji=0,ki=0,li=0,mi=0,ni=0,oi=0;ki=q[Zh+12>>2];a:{li=q[Zh+20>>2];mi=q[Zh+16>>2];ji=mi+4|0;if(ji>>>0<4){li=li+1|0}if((ki|0)<(li|0)?1:(ki|0)<=(li|0)?t[Zh+8>>2]>=ji>>>0?0:1:0){break a}ji=mi+q[Zh>>2]|0;ji=r[ji|0]|r[ji+1|0]<<8|(r[ji+2|0]<<16|r[ji+3|0]<<24);q[Ye>>2]=ji;ki=q[Zh+20>>2];mi=ki;ni=q[Zh+16>>2];li=ni+4|0;if(li>>>0<4){ki=ki+1|0}q[Zh+16>>2]=li;q[Zh+20>>2]=ki;if(ji>>>0>32){break a}ki=q[Zh+12>>2];ji=ni+8|0;if(ji>>>0<8){mi=mi+1|0}if((ki|0)<(mi|0)?1:(ki|0)<=(mi|0)?t[Zh+8>>2]>=ji>>>0?0:1:0){break a}ji=li+q[Zh>>2]|0;ki=r[ji|0]|r[ji+1|0]<<8|(r[ji+2|0]<<16|r[ji+3|0]<<24);q[Ye+4>>2]=ki;li=q[Zh+20>>2];mi=q[Zh+16>>2]+4|0;if(mi>>>0<4){li=li+1|0}q[Zh+16>>2]=mi;q[Zh+20>>2]=li;if(!ki){oi=1;break a}q[Ye+8>>2]=0;ji=0;while(1){if(!bh(((ji<<4)+Ye|0)+16|0,Zh)){break a}ji=ji+1|0;if((ji|0)!=32){continue}break}if(!bh(Ye+528|0,Zh)){break a}if(!$g(Ye+544|0,Zh)){break a}if(!$g(Ye+564|0,Zh)){break a}if(!$g(Ye+584|0,Zh)){break a}return fe(Ye,q[Ye+4>>2],ci)}return oi}function Zd(Ye,Zh,ci){var pi=0,qi=0,ri=0,si=0,ti=0,ui=0,vi=0,wi=0,xi=0,yi=0,zi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0,Fi=0,Gi=0,Hi=0,Ii=0,Ji=0,Ki=0,Li=0,Mi=0,Ni=0,Oi=0;si=T-32|0;T=si;qi=q[Ye+12>>2];q[si+16>>2]=0;q[si+8>>2]=0;q[si+12>>2]=0;a:{if(qi){if(qi>>>0>=1073741824){break a}pi=qi<<2;ri=Mm(pi);q[si+8>>2]=ri;q[si+12>>2]=ri;q[si+16>>2]=pi+ri;ui=Dn(ri,0,pi);pi=qi;while(1){ui=ui+4|0;pi=pi+ -1|0;if(pi){continue}break}q[si+12>>2]=ui}ti=q[Ye+120>>2];pi=q[ti>>2];if(pi){q[ti+4>>2]=pi;An(pi);q[ti+8>>2]=0;q[ti>>2]=0;q[ti+4>>2]=0;qi=q[Ye+12>>2];ui=q[si+12>>2];ri=q[si+8>>2]}q[ti>>2]=ri;q[ti+4>>2]=ui;q[ti+8>>2]=q[si+16>>2];ui=0;q[si+16>>2]=0;q[si+8>>2]=0;q[si+12>>2]=0;pi=0;b:{if(qi){if(qi>>>0>=1073741824){break b}ri=qi<<2;pi=Mm(ri);q[si+8>>2]=pi;q[si+12>>2]=pi;q[si+16>>2]=pi+ri;ui=Dn(pi,0,ri);while(1){ui=ui+4|0;qi=qi+ -1|0;if(qi){continue}break}q[si+12>>2]=ui}ti=q[Ye+132>>2];ri=q[ti>>2];if(ri){q[ti+4>>2]=ri;An(ri);q[ti+8>>2]=0;q[ti>>2]=0;q[ti+4>>2]=0;ui=q[si+12>>2];pi=q[si+8>>2]}q[ti>>2]=pi;q[ti+4>>2]=ui;q[ti+8>>2]=q[si+16>>2];qi=si+24|0;q[qi>>2]=0;q[qi+4>>2]=0;ri=si+16|0;q[ri>>2]=0;q[ri+4>>2]=0;q[si+8>>2]=0;q[si+12>>2]=0;re(si+8|0);ti=q[si+12>>2];pi=0;c:{if((ti|0)==q[ri>>2]){break c}ri=q[qi>>2]+q[si+28>>2]|0;pi=(ri>>>0)/341|0;pi=q[ti+(pi<<2)>>2]+w(ri-w(pi,341)|0,12)|0}q[pi+4>>2]=0;q[pi+8>>2]=0;q[pi>>2]=Zh;pi=1;ri=q[si+28>>2];qi=ri+1|0;q[si+28>>2]=qi;d:{if(qi>>>0>>0){break d}Li=Ye+132|0;Ki=Ye+120|0;Gi=ci+20|0;Mi=Ye+108|0;Ni=Ye+96|0;Hi=Ye+48|0;Ii=Ye+28|0;Oi=Ye+80|0;while(1){pi=q[si+12>>2];vi=q[si+24>>2];wi=qi+ -1|0;ti=vi+wi|0;ri=(ti>>>0)/341|0;ri=q[pi+(ri<<2)>>2]+w(ti-w(ri,341)|0,12)|0;Ai=q[ri+8>>2];ti=q[ri+4>>2];zi=q[ri>>2];q[si+28>>2]=wi;ri=q[si+16>>2];pi=ri-pi|0;if(((pi?w(pi>>2,341)+ -1|0:0)-(qi+vi|0)|0)+1>>>0>=682){An(q[ri+ -4>>2]);q[si+16>>2]=q[si+16>>2]+ -4}pi=0;if(zi>>>0>Zh>>>0){break d}ri=q[Ki>>2];Bi=w(Ai,12);Ei=Bi+q[Li>>2]|0;ui=ml(Ye,Ei,ti);if(ui>>>0>=t[Ye+12>>2]){break d}Fi=ri+Bi|0;e:{f:{Ci=ui<<2;ti=q[Ye>>2]-q[Ci+q[Ei>>2]>>2]|0;if(!ti){if(!zi){break f}xi=0;while(1){ti=0;qi=q[ci+16>>2];g:{if((qi|0)==q[Gi>>2]){break g}while(1){qi=w(ti,20)+qi|0;ri=q[Fi>>2]+(q[qi+4>>2]<<2)|0;yi=q[qi>>2];ui=q[qi+12>>2];h:{if(ui>>>0>3){break h}pi=q[ci+12>>2];vi=qi+16|0;if(!q[vi>>2]){ri=pi;break h}wi=qi+12|0;qi=0;while(1){pi=Cn(pi,(qi<<2)+ri|0,ui);ui=q[wi>>2];pi=pi+ui|0;qi=qi+1|0;if(qi>>>0>2]){continue}break}ri=q[ci+12>>2]}qi=q[ci+28>>2];qi=r[yi+84|0]?qi:q[q[yi+68>>2]+(qi<<2)>>2];if(qi>>>0>=t[yi+80>>2]){break g}pi=q[yi+40>>2];Cn(q[q[yi>>2]>>2]+w(pi,qi)|0,ri,pi);ti=ti+1|0;qi=q[ci+16>>2];if(ti>>>0<(q[Gi>>2]-qi|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;xi=xi+1|0;if((zi|0)!=(xi|0)){continue}break}break f}i:{j:{k:{l:{if(zi>>>0<=2){ri=q[Mi>>2];q[ri>>2]=ui;pi=1;qi=q[Ye+12>>2];if(qi>>>0>1){break l}break i}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}pi=q[Ki>>2];xi=Ai+1|0;yi=w(xi,12);ri=pi+yi|0;if((ri|0)!=(Fi|0)){hd(ri,q[Fi>>2],q[Fi+4>>2]);pi=q[Ki>>2]}pi=Ci+q[pi+yi>>2]|0;q[pi>>2]=q[pi>>2]+(1<>2];ti=32-wi|0;m:{if((vi|0)<=(ti|0)){ti=q[Ii>>2];if((ti|0)==q[Ye+20>>2]){pi=0;break m}pi=q[ti>>2];ri=vi+wi|0;q[Ye+32>>2]=ri;pi=pi<>>32-vi;if((ri|0)!=32){break m}q[Ye+32>>2]=0;q[Ii>>2]=ti+4;break m}qi=q[Ii>>2];pi=qi+4|0;if((pi|0)==q[Ye+20>>2]){pi=0;break m}ri=q[qi>>2];q[Ii>>2]=pi;pi=vi-ti|0;q[Ye+32>>2]=pi;pi=q[qi+4>>2]>>>32-pi|ri<>>32-vi}ri=(zi>>>1)-pi|0;pi=zi-ri|0;n:{if((pi|0)==(ri|0)){pi=ri;break n}vi=q[Ye+88>>2];if((vi|0)==q[Oi>>2]){break k}wi=q[vi>>2];qi=q[Ye+92>>2];ti=qi+1|0;q[Ye+92>>2]=ti;qi=wi&-2147483648>>>qi;o:{if((ti|0)==32){q[Ye+92>>2]=0;q[Ye+88>>2]=vi+4;if(qi){break o}break k}if(!qi){break k}}}ti=pi;pi=ri;break j}while(1){ui=(qi+ -1|0)==(ui|0)?0:ui+1|0;q[ri+(pi<<2)>>2]=ui;pi=pi+1|0;qi=q[Ye+12>>2];if(pi>>>0>>0){continue}break}break i}ti=ri}vi=q[Li>>2];wi=vi+Bi|0;qi=q[wi>>2];ri=qi+Ci|0;q[ri>>2]=q[ri>>2]+1;hd(vi+yi|0,qi,q[wi+4>>2]);if(pi){ri=q[si+28>>2]+q[si+24>>2]|0;vi=q[si+16>>2];qi=q[si+12>>2];wi=vi-qi|0;if((ri|0)==((wi?w(wi>>2,341)+ -1|0:0)|0)){re(si+8|0);qi=q[si+12>>2];vi=q[si+16>>2];ri=q[si+24>>2]+q[si+28>>2]|0}if((qi|0)==(vi|0)){ri=0}else{Ei=qi;qi=(ri>>>0)/341|0;ri=q[Ei+(qi<<2)>>2]+w(ri-w(qi,341)|0,12)|0}q[ri+8>>2]=Ai;q[ri+4>>2]=ui;q[ri>>2]=pi;q[si+28>>2]=q[si+28>>2]+1}if(!ti){break f}pi=q[si+28>>2]+q[si+24>>2]|0;ri=q[si+16>>2];qi=q[si+12>>2];wi=ri-qi|0;if((pi|0)==((wi?w(wi>>2,341)+ -1|0:0)|0)){re(si+8|0);ri=q[si+16>>2];qi=q[si+12>>2];pi=q[si+24>>2]+q[si+28>>2]|0}if((qi|0)==(ri|0)){pi=0}else{ri=(pi>>>0)/341|0;pi=q[(ri<<2)+qi>>2]+w(pi-w(ri,341)|0,12)|0}q[pi+8>>2]=xi;q[pi+4>>2]=ui;q[pi>>2]=ti;qi=q[si+28>>2]+1|0;q[si+28>>2]=qi;break e}if(!zi){break f}Ai=0;while(1){if(qi){ui=q[Ni>>2];xi=q[Mi>>2];vi=q[Fi>>2];wi=q[Ei>>2];qi=0;while(1){Bi=xi+(qi<<2)|0;q[ui+(q[Bi>>2]<<2)>>2]=0;pi=q[Bi>>2]<<2;Di=q[Ye>>2]-q[pi+wi>>2]|0;p:{if(!Di){break p}Ji=pi+ui|0;Ci=q[Ye+52>>2];ti=32-Ci|0;if((Di|0)<=(ti|0)){ri=q[Hi>>2];if((ri|0)==q[Ye+40>>2]){q[Ji>>2]=0;break p}q[Ji>>2]=q[ri>>2]<>>32-Di;pi=Di+q[Ye+52>>2]|0;q[Ye+52>>2]=pi;if((pi|0)!=32){break p}q[Ye+52>>2]=0;q[Hi>>2]=ri+4;break p}yi=q[Hi>>2];pi=yi+4|0;if((pi|0)==q[Ye+40>>2]){q[Ji>>2]=0;break p}ri=q[yi>>2];q[Hi>>2]=pi;pi=Di-ti|0;q[Ye+52>>2]=pi;q[Ji>>2]=q[yi+4>>2]>>>32-pi|ri<>>32-Di}ri=q[Bi>>2]<<2;pi=ri+ui|0;q[pi>>2]=q[pi>>2]|q[ri+vi>>2];qi=qi+1|0;if(qi>>>0>2]){continue}break}}ti=0;qi=q[ci+16>>2];q:{if((qi|0)==q[Gi>>2]){break q}while(1){qi=w(ti,20)+qi|0;ri=q[Ni>>2]+(q[qi+4>>2]<<2)|0;xi=q[qi>>2];ui=q[qi+12>>2];r:{if(ui>>>0>3){break r}pi=q[ci+12>>2];vi=qi+16|0;if(!q[vi>>2]){ri=pi;break r}wi=qi+12|0;qi=0;while(1){pi=Cn(pi,(qi<<2)+ri|0,ui);ui=q[wi>>2];pi=pi+ui|0;qi=qi+1|0;if(qi>>>0>2]){continue}break}ri=q[ci+12>>2]}qi=q[ci+28>>2];qi=r[xi+84|0]?qi:q[q[xi+68>>2]+(qi<<2)>>2];if(qi>>>0>=t[xi+80>>2]){break q}pi=q[xi+40>>2];Cn(q[q[xi>>2]>>2]+w(pi,qi)|0,ri,pi);ti=ti+1|0;qi=q[ci+16>>2];if(ti>>>0<(q[Gi>>2]-qi|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Ai=Ai+1|0;if((Ai|0)==(zi|0)){break f}qi=q[Ye+12>>2];continue}}qi=q[si+28>>2]}if(qi){continue}break}pi=1}se(si+8|0);qi=q[si+12>>2];Ye=q[si+16>>2];s:{if((qi|0)==(Ye|0)){break s}while(1){An(q[qi>>2]);qi=qi+4|0;if((Ye|0)!=(qi|0)){continue}break}Zh=q[si+16>>2];Ye=q[si+12>>2];if((Zh|0)==(Ye|0)){break s}q[si+16>>2]=Zh+(((Zh-Ye|0)+ -4>>>2^-1)<<2)}Ye=q[si+8>>2];if(Ye){An(Ye)}T=si+32|0;return pi}bn();F()}bn();F()}function _d(Ye,Zh,ci){var Pi=0,Qi=0,Ri=0,Si=0,Ti=0,Ui=0,Vi=0,Wi=0;q[Ye>>2]=0;q[Ye+4>>2]=0;q[Ye+8>>2]=0;a:{b:{if(Zh){if(Zh>>>0>=357913942){break b}Qi=w(Zh,12);Pi=Mm(Qi);q[Ye>>2]=Pi;Ri=Ye+4|0;q[Ri>>2]=Pi;q[Ye+8>>2]=Pi+Qi;while(1){q[Pi>>2]=0;q[Pi+4>>2]=0;Qi=Pi+8|0;q[Qi>>2]=0;Si=ci+4|0;Ye=q[Si>>2]-q[ci>>2]|0;c:{if(!Ye){break c}Ti=Ye>>2;if(Ti>>>0>=1073741824){break a}Ye=Mm(Ye);q[Pi>>2]=Ye;Ui=Pi+4|0;q[Ui>>2]=Ye;q[Qi>>2]=Ye+(Ti<<2);Qi=q[ci>>2];Pi=q[Si>>2]-Qi|0;if((Pi|0)<1){break c}Vi=Ui,Wi=Cn(Ye,Qi,Pi)+Pi|0,q[Vi>>2]=Wi}Pi=q[Ri>>2]+12|0;q[Ri>>2]=Pi;Zh=Zh+ -1|0;if(Zh){continue}break}}return}bn();F()}bn();F()}function $d(Ye,Zh,ci){var Xi=0,Yi=0,Zi=0,_i=0,$i=0,aj=0,bj=0,cj=0,dj=0,ej=0,fj=0,gj=0,hj=0,ij=0,jj=0,kj=0,lj=0,mj=0,nj=0,oj=0,pj=0,qj=0,rj=0,sj=0,tj=0,uj=0;_i=T-32|0;T=_i;Yi=q[Ye+12>>2];q[_i+16>>2]=0;q[_i+8>>2]=0;q[_i+12>>2]=0;a:{if(Yi){if(Yi>>>0>=1073741824){break a}Xi=Yi<<2;Zi=Mm(Xi);q[_i+8>>2]=Zi;q[_i+12>>2]=Zi;q[_i+16>>2]=Xi+Zi;$i=Dn(Zi,0,Xi);Xi=Yi;while(1){$i=$i+4|0;Xi=Xi+ -1|0;if(Xi){continue}break}q[_i+12>>2]=$i}Xi=q[Ye+120>>2];aj=q[Xi>>2];if(aj){q[Xi+4>>2]=aj;An(aj);q[Xi+8>>2]=0;q[Xi>>2]=0;q[Xi+4>>2]=0;Yi=q[Ye+12>>2];$i=q[_i+12>>2];Zi=q[_i+8>>2]}q[Xi>>2]=Zi;q[Xi+4>>2]=$i;q[Xi+8>>2]=q[_i+16>>2];$i=0;q[_i+16>>2]=0;q[_i+8>>2]=0;q[_i+12>>2]=0;Xi=0;b:{if(Yi){if(Yi>>>0>=1073741824){break b}Zi=Yi<<2;Xi=Mm(Zi);q[_i+8>>2]=Xi;q[_i+12>>2]=Xi;q[_i+16>>2]=Xi+Zi;$i=Dn(Xi,0,Zi);while(1){$i=$i+4|0;Yi=Yi+ -1|0;if(Yi){continue}break}q[_i+12>>2]=$i}Zi=q[Ye+132>>2];aj=q[Zi>>2];if(aj){q[Zi+4>>2]=aj;An(aj);q[Zi+8>>2]=0;q[Zi>>2]=0;q[Zi+4>>2]=0;$i=q[_i+12>>2];Xi=q[_i+8>>2]}q[Zi>>2]=Xi;q[Zi+4>>2]=$i;q[Zi+8>>2]=q[_i+16>>2];Zi=_i+24|0;q[Zi>>2]=0;q[Zi+4>>2]=0;aj=_i+16|0;q[aj>>2]=0;q[aj+4>>2]=0;q[_i+8>>2]=0;q[_i+12>>2]=0;re(_i+8|0);Yi=q[aj>>2];aj=q[_i+12>>2];Xi=0;c:{if((Yi|0)==(aj|0)){break c}Xi=q[Zi>>2]+q[_i+28>>2]|0;Zi=(Xi>>>0)/341|0;Xi=q[aj+(Zi<<2)>>2]+w(Xi-w(Zi,341)|0,12)|0}q[Xi+4>>2]=0;q[Xi+8>>2]=0;q[Xi>>2]=Zh;Zi=1;Xi=q[_i+28>>2];Yi=Xi+1|0;q[_i+28>>2]=Yi;d:{if(Yi>>>0>>0){break d}nj=Ye+120|0;oj=Ye+132|0;jj=ci+20|0;pj=Ye+108|0;qj=Ye+96|0;kj=Ye+48|0;lj=Ye+28|0;sj=Ye+80|0;while(1){fj=q[_i+12>>2];Zi=q[_i+24>>2];bj=Yi+ -1|0;Xi=Zi+bj|0;aj=(Xi>>>0)/341|0;Xi=q[fj+(aj<<2)>>2]+w(Xi-w(aj,341)|0,12)|0;ej=q[Xi+8>>2];$i=q[Xi+4>>2];aj=q[Xi>>2];q[_i+28>>2]=bj;Xi=q[_i+16>>2];bj=Xi-fj|0;if(((bj?w(bj>>2,341)+ -1|0:0)-(Yi+Zi|0)|0)+1>>>0>=682){An(q[Xi+ -4>>2]);q[_i+16>>2]=q[_i+16>>2]+ -4}if(aj>>>0>Zh>>>0){Zi=0;break d}Zi=0;Xi=q[Ye+12>>2];$i=($i|0)==(Xi+ -1|0)?0:$i+1|0;if($i>>>0>=Xi>>>0){break d}Xi=q[nj>>2];Yi=w(ej,12);fj=Xi+Yi|0;e:{f:{bj=$i<<2;gj=Yi+q[oj>>2]|0;cj=q[Ye>>2]-q[bj+q[gj>>2]>>2]|0;if(!cj){if(!aj){break f}cj=0;while(1){ej=0;Yi=q[ci+16>>2];g:{if((Yi|0)==q[jj>>2]){break g}while(1){Yi=w(ej,20)+Yi|0;Zi=q[fj>>2]+(q[Yi+4>>2]<<2)|0;bj=q[Yi>>2];$i=q[Yi+12>>2];h:{if($i>>>0>3){break h}Xi=q[ci+12>>2];dj=Yi+16|0;if(!q[dj>>2]){Zi=Xi;break h}gj=Yi+12|0;Yi=0;while(1){Xi=Cn(Xi,(Yi<<2)+Zi|0,$i);$i=q[gj>>2];Xi=Xi+$i|0;Yi=Yi+1|0;if(Yi>>>0>2]){continue}break}Zi=q[ci+12>>2]}Yi=q[ci+28>>2];Yi=r[bj+84|0]?Yi:q[q[bj+68>>2]+(Yi<<2)>>2];if(Yi>>>0>=t[bj+80>>2]){break g}Xi=q[bj+40>>2];Cn(q[q[bj>>2]>>2]+w(Xi,Yi)|0,Zi,Xi);ej=ej+1|0;Yi=q[ci+16>>2];if(ej>>>0<(q[jj>>2]-Yi|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;cj=cj+1|0;if((aj|0)!=(cj|0)){continue}break}break f}i:{j:{k:{l:{if(aj>>>0<=2){Zi=q[pj>>2];q[Zi>>2]=$i;Xi=1;Yi=q[Ye+12>>2];if(Yi>>>0>1){break l}break i}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}Zi=Xi;Xi=Yi+12|0;hd(Zi+Xi|0,q[fj>>2],q[fj+4>>2]);Xi=bj+q[Xi+q[nj>>2]>>2]|0;q[Xi>>2]=q[Xi>>2]+(1<>2];cj=32-Zi|0;m:{if((Xi|0)<=(cj|0)){fj=q[lj>>2];if((fj|0)==q[Ye+20>>2]){Zi=0;break m}cj=q[fj>>2];dj=Xi+Zi|0;q[Ye+32>>2]=dj;Zi=cj<>>32-Xi;if((dj|0)!=32){break m}q[Ye+32>>2]=0;q[lj>>2]=fj+4;break m}fj=q[lj>>2];dj=fj+4|0;if((dj|0)==q[Ye+20>>2]){Zi=0;break m}gj=q[fj>>2];q[lj>>2]=dj;cj=Xi-cj|0;q[Ye+32>>2]=cj;Zi=q[fj+4>>2]>>>32-cj|gj<>>32-Xi}fj=ej+1|0;Xi=(aj>>>1)-Zi|0;Zi=aj-Xi|0;n:{if((Zi|0)==(Xi|0)){Zi=Xi;break n}aj=q[Ye+88>>2];if((aj|0)==q[sj>>2]){break k}cj=q[aj>>2];dj=q[Ye+92>>2];gj=dj+1|0;q[Ye+92>>2]=gj;cj=cj&-2147483648>>>dj;o:{if((gj|0)==32){q[Ye+92>>2]=0;q[Ye+88>>2]=aj+4;if(cj){break o}break k}if(!cj){break k}}}aj=Zi;Zi=Xi;break j}while(1){$i=(Yi+ -1|0)==($i|0)?0:$i+1|0;q[Zi+(Xi<<2)>>2]=$i;Xi=Xi+1|0;Yi=q[Ye+12>>2];if(Xi>>>0>>0){continue}break}break i}aj=Xi}hj=bj;Xi=q[oj>>2];Yi=Xi+Yi|0;bj=q[Yi>>2];cj=hj+bj|0;q[cj>>2]=q[cj>>2]+1;hd(Xi+w(fj,12)|0,bj,q[Yi+4>>2]);if(Zi){Xi=q[_i+28>>2]+q[_i+24>>2]|0;bj=q[_i+16>>2];Yi=q[_i+12>>2];cj=bj-Yi|0;if((Xi|0)==((cj?w(cj>>2,341)+ -1|0:0)|0)){re(_i+8|0);bj=q[_i+16>>2];Yi=q[_i+12>>2];Xi=q[_i+24>>2]+q[_i+28>>2]|0}if((Yi|0)==(bj|0)){Xi=0}else{hj=Yi;Yi=(Xi>>>0)/341|0;Xi=q[hj+(Yi<<2)>>2]+w(Xi-w(Yi,341)|0,12)|0}q[Xi+8>>2]=ej;q[Xi+4>>2]=$i;q[Xi>>2]=Zi;q[_i+28>>2]=q[_i+28>>2]+1}if(!aj){break f}Xi=q[_i+28>>2]+q[_i+24>>2]|0;Zi=q[_i+16>>2];Yi=q[_i+12>>2];ej=Zi-Yi|0;if((Xi|0)==((ej?w(ej>>2,341)+ -1|0:0)|0)){re(_i+8|0);Zi=q[_i+16>>2];Yi=q[_i+12>>2];Xi=q[_i+24>>2]+q[_i+28>>2]|0}if((Yi|0)==(Zi|0)){Xi=0}else{Zi=(Xi>>>0)/341|0;Xi=q[(Zi<<2)+Yi>>2]+w(Xi-w(Zi,341)|0,12)|0}q[Xi+8>>2]=fj;q[Xi+4>>2]=$i;q[Xi>>2]=aj;Yi=q[_i+28>>2]+1|0;q[_i+28>>2]=Yi;break e}if(!aj){break f}cj=0;while(1){if(Yi){$i=q[qj>>2];mj=q[pj>>2];tj=q[fj>>2];uj=q[gj>>2];Yi=0;while(1){ej=mj+(Yi<<2)|0;q[$i+(q[ej>>2]<<2)>>2]=0;Zi=q[ej>>2]<<2;Xi=q[Ye>>2]-q[Zi+uj>>2]|0;p:{if(!Xi){break p}Zi=Zi+$i|0;bj=q[Ye+52>>2];ij=32-bj|0;if((Xi|0)<=(ij|0)){dj=q[kj>>2];if((dj|0)==q[Ye+40>>2]){q[Zi>>2]=0;break p}q[Zi>>2]=q[dj>>2]<>>32-Xi;Xi=Xi+q[Ye+52>>2]|0;q[Ye+52>>2]=Xi;if((Xi|0)!=32){break p}q[Ye+52>>2]=0;q[kj>>2]=dj+4;break p}dj=q[kj>>2];rj=dj+4|0;if((rj|0)==q[Ye+40>>2]){q[Zi>>2]=0;break p}hj=q[dj>>2];q[kj>>2]=rj;ij=Xi-ij|0;q[Ye+52>>2]=ij;q[Zi>>2]=q[dj+4>>2]>>>32-ij|hj<>>32-Xi}Xi=q[ej>>2]<<2;Zi=Xi+$i|0;q[Zi>>2]=q[Zi>>2]|q[Xi+tj>>2];Yi=Yi+1|0;if(Yi>>>0>2]){continue}break}}ej=0;Yi=q[ci+16>>2];q:{if((Yi|0)==q[jj>>2]){break q}while(1){Yi=w(ej,20)+Yi|0;Zi=q[qj>>2]+(q[Yi+4>>2]<<2)|0;bj=q[Yi>>2];$i=q[Yi+12>>2];r:{if($i>>>0>3){break r}Xi=q[ci+12>>2];dj=Yi+16|0;if(!q[dj>>2]){Zi=Xi;break r}mj=Yi+12|0;Yi=0;while(1){Xi=Cn(Xi,(Yi<<2)+Zi|0,$i);$i=q[mj>>2];Xi=Xi+$i|0;Yi=Yi+1|0;if(Yi>>>0>2]){continue}break}Zi=q[ci+12>>2]}Yi=q[ci+28>>2];Yi=r[bj+84|0]?Yi:q[q[bj+68>>2]+(Yi<<2)>>2];if(Yi>>>0>=t[bj+80>>2]){break q}Xi=q[bj+40>>2];Cn(q[q[bj>>2]>>2]+w(Xi,Yi)|0,Zi,Xi);ej=ej+1|0;Yi=q[ci+16>>2];if(ej>>>0<(q[jj>>2]-Yi|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;cj=cj+1|0;if((cj|0)==(aj|0)){break f}Yi=q[Ye+12>>2];continue}}Yi=q[_i+28>>2]}if(Yi){continue}break}Zi=1}se(_i+8|0);Yi=q[_i+12>>2];Ye=q[_i+16>>2];s:{if((Yi|0)==(Ye|0)){break s}while(1){An(q[Yi>>2]);Yi=Yi+4|0;if((Ye|0)!=(Yi|0)){continue}break}Ye=q[_i+16>>2];Zh=q[_i+12>>2];if((Ye|0)==(Zh|0)){break s}q[_i+16>>2]=Ye+(((Ye-Zh|0)+ -4>>>2^-1)<<2)}Ye=q[_i+8>>2];if(Ye){An(Ye)}T=_i+32|0;return Zi}bn();F()}bn();F()}function ae(Ye,Zh,ci){var vj=0,wj=0,xj=0,yj=0,zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Hj=0,Ij=0,Jj=0,Kj=0,Lj=0,Mj=0,Nj=0,Oj=0,Pj=0,Qj=0,Rj=0,Sj=0,Tj=0,Uj=0,Vj=0;yj=T-32|0;T=yj;vj=q[Ye+12>>2];q[yj+16>>2]=0;q[yj+8>>2]=0;q[yj+12>>2]=0;a:{if(vj){if(vj>>>0>=1073741824){break a}wj=vj<<2;xj=Mm(wj);q[yj+8>>2]=xj;q[yj+12>>2]=xj;q[yj+16>>2]=wj+xj;Aj=Dn(xj,0,wj);wj=vj;while(1){Aj=Aj+4|0;wj=wj+ -1|0;if(wj){continue}break}q[yj+12>>2]=Aj}zj=q[Ye+116>>2];wj=q[zj>>2];if(wj){q[zj+4>>2]=wj;An(wj);q[zj+8>>2]=0;q[zj>>2]=0;q[zj+4>>2]=0;vj=q[Ye+12>>2];Aj=q[yj+12>>2];xj=q[yj+8>>2]}q[zj>>2]=xj;q[zj+4>>2]=Aj;q[zj+8>>2]=q[yj+16>>2];Aj=0;q[yj+16>>2]=0;q[yj+8>>2]=0;q[yj+12>>2]=0;wj=0;b:{if(vj){if(vj>>>0>=1073741824){break b}xj=vj<<2;wj=Mm(xj);q[yj+8>>2]=wj;q[yj+12>>2]=wj;q[yj+16>>2]=wj+xj;Aj=Dn(wj,0,xj);while(1){Aj=Aj+4|0;vj=vj+ -1|0;if(vj){continue}break}q[yj+12>>2]=Aj}zj=q[Ye+128>>2];xj=q[zj>>2];if(xj){q[zj+4>>2]=xj;An(xj);q[zj+8>>2]=0;q[zj>>2]=0;q[zj+4>>2]=0;Aj=q[yj+12>>2];wj=q[yj+8>>2]}q[zj>>2]=wj;q[zj+4>>2]=Aj;q[zj+8>>2]=q[yj+16>>2];vj=yj+24|0;q[vj>>2]=0;q[vj+4>>2]=0;xj=yj+16|0;q[xj>>2]=0;q[xj+4>>2]=0;q[yj+8>>2]=0;q[yj+12>>2]=0;re(yj+8|0);zj=q[yj+12>>2];wj=0;c:{if((zj|0)==q[xj>>2]){break c}xj=q[vj>>2]+q[yj+28>>2]|0;wj=(xj>>>0)/341|0;wj=q[zj+(wj<<2)>>2]+w(xj-w(wj,341)|0,12)|0}q[wj+4>>2]=0;q[wj+8>>2]=0;q[wj>>2]=Zh;wj=1;xj=q[yj+28>>2];vj=xj+1|0;q[yj+28>>2]=vj;d:{if(vj>>>0>>0){break d}Uj=Ye+16|0;Qj=Ye+128|0;Oj=Ye+116|0;Lj=ci+20|0;Rj=Ye+104|0;Sj=Ye+92|0;Mj=Ye+44|0;Tj=Ye+36|0;Vj=Ye+76|0;while(1){wj=q[yj+12>>2];Bj=q[yj+24>>2];Cj=vj+ -1|0;zj=Bj+Cj|0;xj=(zj>>>0)/341|0;xj=q[wj+(xj<<2)>>2]+w(zj-w(xj,341)|0,12)|0;Gj=q[xj+8>>2];zj=q[xj+4>>2];Fj=q[xj>>2];q[yj+28>>2]=Cj;xj=q[yj+16>>2];wj=xj-wj|0;if(((wj?w(wj>>2,341)+ -1|0:0)-(vj+Bj|0)|0)+1>>>0>=682){An(q[xj+ -4>>2]);q[yj+16>>2]=q[yj+16>>2]+ -4}wj=0;if(Fj>>>0>Zh>>>0){break d}xj=q[Oj>>2];Hj=w(Gj,12);Pj=Hj+q[Qj>>2]|0;Aj=ml(Ye,Pj,zj);if(Aj>>>0>=t[Ye+12>>2]){break d}Kj=xj+Hj|0;e:{Ij=Aj<<2;zj=q[Ye>>2]-q[Ij+q[Pj>>2]>>2]|0;if(!zj){if(!Fj){break e}Dj=0;while(1){zj=0;vj=q[ci+16>>2];f:{if((vj|0)==q[Lj>>2]){break f}while(1){vj=w(zj,20)+vj|0;xj=q[Kj>>2]+(q[vj+4>>2]<<2)|0;Ej=q[vj>>2];Aj=q[vj+12>>2];g:{if(Aj>>>0>3){break g}wj=q[ci+12>>2];Bj=vj+16|0;if(!q[Bj>>2]){xj=wj;break g}Cj=vj+12|0;vj=0;while(1){wj=Cn(wj,(vj<<2)+xj|0,Aj);Aj=q[Cj>>2];wj=wj+Aj|0;vj=vj+1|0;if(vj>>>0>2]){continue}break}xj=q[ci+12>>2]}vj=q[ci+28>>2];vj=r[Ej+84|0]?vj:q[q[Ej+68>>2]+(vj<<2)>>2];if(vj>>>0>=t[Ej+80>>2]){break f}wj=q[Ej+40>>2];Cn(q[q[Ej>>2]>>2]+w(wj,vj)|0,xj,wj);zj=zj+1|0;vj=q[ci+16>>2];if(zj>>>0<(q[Lj>>2]-vj|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Dj=Dj+1|0;if((Fj|0)!=(Dj|0)){continue}break}break e}h:{i:{j:{k:{if(Fj>>>0<=2){xj=q[Rj>>2];q[xj>>2]=Aj;wj=1;vj=q[Ye+12>>2];if(vj>>>0>1){break k}break h}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}wj=q[Oj>>2];Dj=Gj+1|0;Ej=w(Dj,12);xj=wj+Ej|0;if((xj|0)!=(Kj|0)){hd(xj,q[Kj>>2],q[Kj+4>>2]);wj=q[Oj>>2]}wj=Ij+q[wj+Ej>>2]|0;q[wj>>2]=q[wj>>2]+(1<>2]=0;eh(Uj,z(Fj)^31,yj+4|0);xj=(Fj>>>1)-q[yj+4>>2]|0;wj=Fj-xj|0;l:{if((wj|0)==(xj|0)){wj=xj;break l}Bj=q[Ye+84>>2];if((Bj|0)==q[Vj>>2]){break j}Cj=q[Bj>>2];vj=q[Ye+88>>2];zj=vj+1|0;q[Ye+88>>2]=zj;vj=Cj&-2147483648>>>vj;m:{if((zj|0)==32){q[Ye+88>>2]=0;q[Ye+84>>2]=Bj+4;if(vj){break m}break j}if(!vj){break j}}}zj=wj;wj=xj;break i}while(1){Aj=(vj+ -1|0)==(Aj|0)?0:Aj+1|0;q[xj+(wj<<2)>>2]=Aj;wj=wj+1|0;vj=q[Ye+12>>2];if(wj>>>0>>0){continue}break}break h}zj=xj}Bj=q[Qj>>2];Cj=Bj+Hj|0;vj=q[Cj>>2];xj=vj+Ij|0;q[xj>>2]=q[xj>>2]+1;hd(Bj+Ej|0,vj,q[Cj+4>>2]);if(wj){xj=q[yj+28>>2]+q[yj+24>>2]|0;Bj=q[yj+16>>2];vj=q[yj+12>>2];Cj=Bj-vj|0;if((xj|0)==((Cj?w(Cj>>2,341)+ -1|0:0)|0)){re(yj+8|0);vj=q[yj+12>>2];Bj=q[yj+16>>2];xj=q[yj+24>>2]+q[yj+28>>2]|0}if((vj|0)==(Bj|0)){xj=0}else{Bj=vj;vj=(xj>>>0)/341|0;xj=q[Bj+(vj<<2)>>2]+w(xj-w(vj,341)|0,12)|0}q[xj+8>>2]=Gj;q[xj+4>>2]=Aj;q[xj>>2]=wj;q[yj+28>>2]=q[yj+28>>2]+1}if(!zj){break e}wj=q[yj+28>>2]+q[yj+24>>2]|0;xj=q[yj+16>>2];vj=q[yj+12>>2];Cj=xj-vj|0;if((wj|0)==((Cj?w(Cj>>2,341)+ -1|0:0)|0)){re(yj+8|0);xj=q[yj+16>>2];vj=q[yj+12>>2];wj=q[yj+24>>2]+q[yj+28>>2]|0}if((vj|0)==(xj|0)){wj=0}else{xj=(wj>>>0)/341|0;wj=q[(xj<<2)+vj>>2]+w(wj-w(xj,341)|0,12)|0}q[wj+8>>2]=Dj;q[wj+4>>2]=Aj;q[wj>>2]=zj;q[yj+28>>2]=q[yj+28>>2]+1;break e}if(!Fj){break e}Gj=0;while(1){if(vj){Aj=q[Sj>>2];Dj=q[Rj>>2];Bj=q[Kj>>2];Cj=q[Pj>>2];vj=0;while(1){Hj=Dj+(vj<<2)|0;q[Aj+(q[Hj>>2]<<2)>>2]=0;wj=q[Hj>>2]<<2;Jj=q[Ye>>2]-q[wj+Cj>>2]|0;n:{if(!Jj){break n}Nj=wj+Aj|0;Ij=q[Ye+48>>2];zj=32-Ij|0;if((Jj|0)<=(zj|0)){xj=q[Mj>>2];if((xj|0)==q[Tj>>2]){q[Nj>>2]=0;break n}q[Nj>>2]=q[xj>>2]<>>32-Jj;wj=Jj+q[Ye+48>>2]|0;q[Ye+48>>2]=wj;if((wj|0)!=32){break n}q[Ye+48>>2]=0;q[Mj>>2]=xj+4;break n}Ej=q[Mj>>2];wj=Ej+4|0;if((wj|0)==q[Tj>>2]){q[Nj>>2]=0;break n}xj=q[Ej>>2];q[Mj>>2]=wj;wj=Jj-zj|0;q[Ye+48>>2]=wj;q[Nj>>2]=q[Ej+4>>2]>>>32-wj|xj<>>32-Jj}xj=q[Hj>>2]<<2;wj=xj+Aj|0;q[wj>>2]=q[wj>>2]|q[xj+Bj>>2];vj=vj+1|0;if(vj>>>0>2]){continue}break}}zj=0;vj=q[ci+16>>2];o:{if((vj|0)==q[Lj>>2]){break o}while(1){vj=w(zj,20)+vj|0;xj=q[Sj>>2]+(q[vj+4>>2]<<2)|0;Dj=q[vj>>2];Aj=q[vj+12>>2];p:{if(Aj>>>0>3){break p}wj=q[ci+12>>2];Bj=vj+16|0;if(!q[Bj>>2]){xj=wj;break p}Cj=vj+12|0;vj=0;while(1){wj=Cn(wj,(vj<<2)+xj|0,Aj);Aj=q[Cj>>2];wj=wj+Aj|0;vj=vj+1|0;if(vj>>>0>2]){continue}break}xj=q[ci+12>>2]}vj=q[ci+28>>2];vj=r[Dj+84|0]?vj:q[q[Dj+68>>2]+(vj<<2)>>2];if(vj>>>0>=t[Dj+80>>2]){break o}wj=q[Dj+40>>2];Cn(q[q[Dj>>2]>>2]+w(wj,vj)|0,xj,wj);zj=zj+1|0;vj=q[ci+16>>2];if(zj>>>0<(q[Lj>>2]-vj|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Gj=Gj+1|0;if((Gj|0)==(Fj|0)){break e}vj=q[Ye+12>>2];continue}}vj=q[yj+28>>2];if(vj){continue}break}wj=1}se(yj+8|0);vj=q[yj+12>>2];Ye=q[yj+16>>2];q:{if((vj|0)==(Ye|0)){break q}while(1){An(q[vj>>2]);vj=vj+4|0;if((Ye|0)!=(vj|0)){continue}break}Zh=q[yj+16>>2];Ye=q[yj+12>>2];if((Zh|0)==(Ye|0)){break q}q[yj+16>>2]=Zh+(((Zh-Ye|0)+ -4>>>2^-1)<<2)}Ye=q[yj+8>>2];if(Ye){An(Ye)}T=yj+32|0;return wj}bn();F()}bn();F()}function be(Ye,Zh,ci){var Wj=0,Xj=0,Yj=0,Zj=0,_j=0,$j=0,ak=0,bk=0,ck=0,dk=0,ek=0,fk=0,gk=0,hk=0,ik=0,jk=0,kk=0,lk=0,mk=0,nk=0,ok=0,pk=0,qk=0,rk=0,sk=0,tk=0,uk=0;Zj=T-32|0;T=Zj;Xj=q[Ye+12>>2];q[Zj+16>>2]=0;q[Zj+8>>2]=0;q[Zj+12>>2]=0;a:{if(Xj){if(Xj>>>0>=1073741824){break a}Wj=Xj<<2;Yj=Mm(Wj);q[Zj+8>>2]=Yj;q[Zj+12>>2]=Yj;q[Zj+16>>2]=Wj+Yj;_j=Dn(Yj,0,Wj);Wj=Xj;while(1){_j=_j+4|0;Wj=Wj+ -1|0;if(Wj){continue}break}q[Zj+12>>2]=_j}Wj=q[Ye+116>>2];$j=q[Wj>>2];if($j){q[Wj+4>>2]=$j;An($j);q[Wj+8>>2]=0;q[Wj>>2]=0;q[Wj+4>>2]=0;Xj=q[Ye+12>>2];_j=q[Zj+12>>2];Yj=q[Zj+8>>2]}q[Wj>>2]=Yj;q[Wj+4>>2]=_j;q[Wj+8>>2]=q[Zj+16>>2];_j=0;q[Zj+16>>2]=0;q[Zj+8>>2]=0;q[Zj+12>>2]=0;Wj=0;b:{if(Xj){if(Xj>>>0>=1073741824){break b}Yj=Xj<<2;Wj=Mm(Yj);q[Zj+8>>2]=Wj;q[Zj+12>>2]=Wj;q[Zj+16>>2]=Wj+Yj;_j=Dn(Wj,0,Yj);while(1){_j=_j+4|0;Xj=Xj+ -1|0;if(Xj){continue}break}q[Zj+12>>2]=_j}Yj=q[Ye+128>>2];$j=q[Yj>>2];if($j){q[Yj+4>>2]=$j;An($j);q[Yj+8>>2]=0;q[Yj>>2]=0;q[Yj+4>>2]=0;_j=q[Zj+12>>2];Wj=q[Zj+8>>2]}q[Yj>>2]=Wj;q[Yj+4>>2]=_j;q[Yj+8>>2]=q[Zj+16>>2];Yj=Zj+24|0;q[Yj>>2]=0;q[Yj+4>>2]=0;$j=Zj+16|0;q[$j>>2]=0;q[$j+4>>2]=0;q[Zj+8>>2]=0;q[Zj+12>>2]=0;re(Zj+8|0);Xj=q[$j>>2];$j=q[Zj+12>>2];Wj=0;c:{if((Xj|0)==($j|0)){break c}Wj=q[Yj>>2]+q[Zj+28>>2]|0;Yj=(Wj>>>0)/341|0;Wj=q[$j+(Yj<<2)>>2]+w(Wj-w(Yj,341)|0,12)|0}q[Wj+4>>2]=0;q[Wj+8>>2]=0;q[Wj>>2]=Zh;Yj=1;Wj=q[Zj+28>>2];Xj=Wj+1|0;q[Zj+28>>2]=Xj;d:{if(Xj>>>0>>0){break d}qk=Ye+16|0;kk=Ye+116|0;lk=Ye+128|0;hk=ci+20|0;mk=Ye+104|0;nk=Ye+92|0;ik=Ye+44|0;ok=Ye+36|0;rk=Ye+76|0;while(1){ek=q[Zj+12>>2];Yj=q[Zj+24>>2];ak=Xj+ -1|0;Wj=Yj+ak|0;$j=(Wj>>>0)/341|0;Wj=q[ek+($j<<2)>>2]+w(Wj-w($j,341)|0,12)|0;ck=q[Wj+8>>2];_j=q[Wj+4>>2];$j=q[Wj>>2];q[Zj+28>>2]=ak;Wj=q[Zj+16>>2];ak=Wj-ek|0;if(((ak?w(ak>>2,341)+ -1|0:0)-(Xj+Yj|0)|0)+1>>>0>=682){An(q[Wj+ -4>>2]);q[Zj+16>>2]=q[Zj+16>>2]+ -4}if($j>>>0>Zh>>>0){Yj=0;break d}Yj=0;Wj=q[Ye+12>>2];_j=(_j|0)==(Wj+ -1|0)?0:_j+1|0;if(_j>>>0>=Wj>>>0){break d}Wj=q[kk>>2];Xj=w(ck,12);ek=Wj+Xj|0;e:{ak=_j<<2;fk=Xj+q[lk>>2]|0;bk=q[Ye>>2]-q[ak+q[fk>>2]>>2]|0;if(!bk){if(!$j){break e}bk=0;while(1){ck=0;Xj=q[ci+16>>2];f:{if((Xj|0)==q[hk>>2]){break f}while(1){Xj=w(ck,20)+Xj|0;Yj=q[ek>>2]+(q[Xj+4>>2]<<2)|0;ak=q[Xj>>2];_j=q[Xj+12>>2];g:{if(_j>>>0>3){break g}Wj=q[ci+12>>2];dk=Xj+16|0;if(!q[dk>>2]){Yj=Wj;break g}fk=Xj+12|0;Xj=0;while(1){Wj=Cn(Wj,(Xj<<2)+Yj|0,_j);_j=q[fk>>2];Wj=Wj+_j|0;Xj=Xj+1|0;if(Xj>>>0>2]){continue}break}Yj=q[ci+12>>2]}Xj=q[ci+28>>2];Xj=r[ak+84|0]?Xj:q[q[ak+68>>2]+(Xj<<2)>>2];if(Xj>>>0>=t[ak+80>>2]){break f}Wj=q[ak+40>>2];Cn(q[q[ak>>2]>>2]+w(Wj,Xj)|0,Yj,Wj);ck=ck+1|0;Xj=q[ci+16>>2];if(ck>>>0<(q[hk>>2]-Xj|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;bk=bk+1|0;if(($j|0)!=(bk|0)){continue}break}break e}h:{i:{j:{k:{if($j>>>0<=2){Yj=q[mk>>2];q[Yj>>2]=_j;Wj=1;Xj=q[Ye+12>>2];if(Xj>>>0>1){break k}break h}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}Yj=Wj;Wj=Xj+12|0;hd(Yj+Wj|0,q[ek>>2],q[ek+4>>2]);Wj=ak+q[Wj+q[kk>>2]>>2]|0;q[Wj>>2]=q[Wj>>2]+(1<>2]=0;eh(qk,z($j)^31,Zj+4|0);ek=ck+1|0;Wj=($j>>>1)-q[Zj+4>>2]|0;Yj=$j-Wj|0;l:{if((Yj|0)==(Wj|0)){Yj=Wj;break l}$j=q[Ye+84>>2];if(($j|0)==q[rk>>2]){break j}bk=q[$j>>2];dk=q[Ye+88>>2];fk=dk+1|0;q[Ye+88>>2]=fk;bk=bk&-2147483648>>>dk;m:{if((fk|0)==32){q[Ye+88>>2]=0;q[Ye+84>>2]=$j+4;if(bk){break m}break j}if(!bk){break j}}}$j=Yj;Yj=Wj;break i}while(1){_j=(Xj+ -1|0)==(_j|0)?0:_j+1|0;q[Yj+(Wj<<2)>>2]=_j;Wj=Wj+1|0;Xj=q[Ye+12>>2];if(Wj>>>0>>0){continue}break}break h}$j=Wj}bk=ak;Wj=q[lk>>2];Xj=Wj+Xj|0;ak=q[Xj>>2];bk=bk+ak|0;q[bk>>2]=q[bk>>2]+1;hd(Wj+w(ek,12)|0,ak,q[Xj+4>>2]);if(Yj){Wj=q[Zj+28>>2]+q[Zj+24>>2]|0;ak=q[Zj+16>>2];Xj=q[Zj+12>>2];bk=ak-Xj|0;if((Wj|0)==((bk?w(bk>>2,341)+ -1|0:0)|0)){re(Zj+8|0);ak=q[Zj+16>>2];Xj=q[Zj+12>>2];Wj=q[Zj+24>>2]+q[Zj+28>>2]|0}if((Xj|0)==(ak|0)){Wj=0}else{ak=Xj;Xj=(Wj>>>0)/341|0;Wj=q[ak+(Xj<<2)>>2]+w(Wj-w(Xj,341)|0,12)|0}q[Wj+8>>2]=ck;q[Wj+4>>2]=_j;q[Wj>>2]=Yj;q[Zj+28>>2]=q[Zj+28>>2]+1}if(!$j){break e}Wj=q[Zj+28>>2]+q[Zj+24>>2]|0;Yj=q[Zj+16>>2];Xj=q[Zj+12>>2];ck=Yj-Xj|0;if((Wj|0)==((ck?w(ck>>2,341)+ -1|0:0)|0)){re(Zj+8|0);Yj=q[Zj+16>>2];Xj=q[Zj+12>>2];Wj=q[Zj+24>>2]+q[Zj+28>>2]|0}if((Xj|0)==(Yj|0)){Wj=0}else{Yj=(Wj>>>0)/341|0;Wj=q[(Yj<<2)+Xj>>2]+w(Wj-w(Yj,341)|0,12)|0}q[Wj+8>>2]=ek;q[Wj+4>>2]=_j;q[Wj>>2]=$j;q[Zj+28>>2]=q[Zj+28>>2]+1;break e}if(!$j){break e}bk=0;while(1){if(Xj){_j=q[nk>>2];jk=q[mk>>2];sk=q[ek>>2];tk=q[fk>>2];Xj=0;while(1){ck=jk+(Xj<<2)|0;q[_j+(q[ck>>2]<<2)>>2]=0;Yj=q[ck>>2]<<2;Wj=q[Ye>>2]-q[Yj+tk>>2]|0;n:{if(!Wj){break n}Yj=Yj+_j|0;ak=q[Ye+48>>2];gk=32-ak|0;if((Wj|0)<=(gk|0)){dk=q[ik>>2];if((dk|0)==q[ok>>2]){q[Yj>>2]=0;break n}q[Yj>>2]=q[dk>>2]<>>32-Wj;Wj=Wj+q[Ye+48>>2]|0;q[Ye+48>>2]=Wj;if((Wj|0)!=32){break n}q[Ye+48>>2]=0;q[ik>>2]=dk+4;break n}dk=q[ik>>2];pk=dk+4|0;if((pk|0)==q[ok>>2]){q[Yj>>2]=0;break n}uk=q[dk>>2];q[ik>>2]=pk;gk=Wj-gk|0;q[Ye+48>>2]=gk;q[Yj>>2]=q[dk+4>>2]>>>32-gk|uk<>>32-Wj}Wj=q[ck>>2]<<2;Yj=Wj+_j|0;q[Yj>>2]=q[Yj>>2]|q[Wj+sk>>2];Xj=Xj+1|0;if(Xj>>>0>2]){continue}break}}ck=0;Xj=q[ci+16>>2];o:{if((Xj|0)==q[hk>>2]){break o}while(1){Xj=w(ck,20)+Xj|0;Yj=q[nk>>2]+(q[Xj+4>>2]<<2)|0;ak=q[Xj>>2];_j=q[Xj+12>>2];p:{if(_j>>>0>3){break p}Wj=q[ci+12>>2];dk=Xj+16|0;if(!q[dk>>2]){Yj=Wj;break p}jk=Xj+12|0;Xj=0;while(1){Wj=Cn(Wj,(Xj<<2)+Yj|0,_j);_j=q[jk>>2];Wj=Wj+_j|0;Xj=Xj+1|0;if(Xj>>>0>2]){continue}break}Yj=q[ci+12>>2]}Xj=q[ci+28>>2];Xj=r[ak+84|0]?Xj:q[q[ak+68>>2]+(Xj<<2)>>2];if(Xj>>>0>=t[ak+80>>2]){break o}Wj=q[ak+40>>2];Cn(q[q[ak>>2]>>2]+w(Wj,Xj)|0,Yj,Wj);ck=ck+1|0;Xj=q[ci+16>>2];if(ck>>>0<(q[hk>>2]-Xj|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;bk=bk+1|0;if((bk|0)==($j|0)){break e}Xj=q[Ye+12>>2];continue}}Xj=q[Zj+28>>2];if(Xj){continue}break}Yj=1}se(Zj+8|0);Xj=q[Zj+12>>2];Ye=q[Zj+16>>2];q:{if((Xj|0)==(Ye|0)){break q}while(1){An(q[Xj>>2]);Xj=Xj+4|0;if((Ye|0)!=(Xj|0)){continue}break}Ye=q[Zj+16>>2];Zh=q[Zj+12>>2];if((Ye|0)==(Zh|0)){break q}q[Zj+16>>2]=Ye+(((Ye-Zh|0)+ -4>>>2^-1)<<2)}Ye=q[Zj+8>>2];if(Ye){An(Ye)}T=Zj+32|0;return Yj}bn();F()}bn();F()}function ce(Ye,Zh,ci){var vk=0,wk=0,xk=0,yk=0,zk=0,Ak=0,Bk=0,Ck=0,Dk=0,Ek=0,Fk=0,Gk=0,Hk=0,Ik=0,Jk=0,Kk=0,Lk=0,Mk=0,Nk=0,Ok=0,Pk=0,Qk=0,Rk=0,Sk=0,Tk=0,Uk=0;yk=T-32|0;T=yk;vk=q[Ye+12>>2];q[yk+16>>2]=0;q[yk+8>>2]=0;q[yk+12>>2]=0;a:{if(vk){if(vk>>>0>=1073741824){break a}wk=vk<<2;xk=Mm(wk);q[yk+8>>2]=xk;q[yk+12>>2]=xk;q[yk+16>>2]=wk+xk;Ak=Dn(xk,0,wk);wk=vk;while(1){Ak=Ak+4|0;wk=wk+ -1|0;if(wk){continue}break}q[yk+12>>2]=Ak}wk=q[Ye+628>>2];zk=q[wk>>2];if(zk){q[wk+4>>2]=zk;An(zk);q[wk+8>>2]=0;q[wk>>2]=0;q[wk+4>>2]=0;vk=q[Ye+12>>2];Ak=q[yk+12>>2];xk=q[yk+8>>2]}q[wk>>2]=xk;q[wk+4>>2]=Ak;q[wk+8>>2]=q[yk+16>>2];Ak=0;q[yk+16>>2]=0;q[yk+8>>2]=0;q[yk+12>>2]=0;wk=0;b:{if(vk){if(vk>>>0>=1073741824){break b}xk=vk<<2;wk=Mm(xk);q[yk+8>>2]=wk;q[yk+12>>2]=wk;q[yk+16>>2]=wk+xk;Ak=Dn(wk,0,xk);while(1){Ak=Ak+4|0;vk=vk+ -1|0;if(vk){continue}break}q[yk+12>>2]=Ak}xk=q[Ye+640>>2];vk=q[xk>>2];if(vk){q[xk+4>>2]=vk;An(vk);q[xk+8>>2]=0;q[xk>>2]=0;q[xk+4>>2]=0;Ak=q[yk+12>>2];wk=q[yk+8>>2]}q[xk>>2]=wk;q[xk+4>>2]=Ak;q[xk+8>>2]=q[yk+16>>2];vk=yk+24|0;q[vk>>2]=0;q[vk+4>>2]=0;wk=yk+16|0;q[wk>>2]=0;q[wk+4>>2]=0;q[yk+8>>2]=0;q[yk+12>>2]=0;re(yk+8|0);zk=q[wk>>2];wk=q[yk+12>>2];xk=0;c:{if((zk|0)==(wk|0)){break c}xk=q[vk>>2]+q[yk+28>>2]|0;vk=(xk>>>0)/341|0;xk=q[wk+(vk<<2)>>2]+w(xk-w(vk,341)|0,12)|0}q[xk+4>>2]=0;q[xk+8>>2]=0;q[xk>>2]=Zh;wk=1;xk=q[yk+28>>2];vk=xk+1|0;q[yk+28>>2]=vk;d:{if(vk>>>0>>0){break d}Mk=Ye+640|0;Lk=Ye+628|0;Jk=ci+20|0;Nk=Ye+616|0;Ok=Ye+604|0;Kk=Ye+556|0;Pk=Ye+548|0;Rk=Ye+588|0;while(1){Dk=q[yk+12>>2];wk=q[yk+24>>2];Ak=vk+ -1|0;xk=wk+Ak|0;zk=(xk>>>0)/341|0;xk=q[Dk+(zk<<2)>>2]+w(xk-w(zk,341)|0,12)|0;Ck=q[xk+8>>2];Fk=q[xk+4>>2];zk=q[xk>>2];q[yk+28>>2]=Ak;xk=q[yk+16>>2];Ak=xk-Dk|0;if(((Ak?w(Ak>>2,341)+ -1|0:0)-(vk+wk|0)|0)+1>>>0>=682){An(q[xk+ -4>>2]);q[yk+16>>2]=q[yk+16>>2]+ -4}wk=0;if(zk>>>0>Zh>>>0){break d}xk=q[Lk>>2];Bk=w(Ck,12);Gk=Bk+q[Mk>>2]|0;Ak=ml(Ye,Gk,Fk);if(Ak>>>0>=t[Ye+12>>2]){break d}Dk=xk+Bk|0;e:{f:{Fk=Ak<<2;vk=q[Ye>>2]-q[Fk+q[Gk>>2]>>2]|0;if(!vk){if(!zk){break f}Gk=0;while(1){Ck=0;vk=q[ci+16>>2];g:{if((vk|0)==q[Jk>>2]){break g}while(1){vk=w(Ck,20)+vk|0;xk=q[Dk>>2]+(q[vk+4>>2]<<2)|0;Bk=q[vk>>2];Ak=q[vk+12>>2];h:{if(Ak>>>0>3){break h}wk=q[ci+12>>2];Fk=vk+16|0;if(!q[Fk>>2]){xk=wk;break h}Ek=vk+12|0;vk=0;while(1){wk=Cn(wk,(vk<<2)+xk|0,Ak);Ak=q[Ek>>2];wk=wk+Ak|0;vk=vk+1|0;if(vk>>>0>2]){continue}break}xk=q[ci+12>>2]}vk=q[ci+28>>2];vk=r[Bk+84|0]?vk:q[q[Bk+68>>2]+(vk<<2)>>2];if(vk>>>0>=t[Bk+80>>2]){break g}wk=vk;vk=q[Bk+40>>2];Cn(q[q[Bk>>2]>>2]+w(wk,vk)|0,xk,vk);Ck=Ck+1|0;vk=q[ci+16>>2];if(Ck>>>0<(q[Jk>>2]-vk|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Gk=Gk+1|0;if((zk|0)!=(Gk|0)){continue}break}break f}i:{j:{k:{l:{if(zk>>>0<=2){xk=q[Nk>>2];q[xk>>2]=Ak;wk=1;vk=q[Ye+12>>2];if(vk>>>0>1){break l}break i}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}xk=q[Lk>>2];Ek=Ck+1|0;Gk=w(Ek,12);wk=xk+Gk|0;if((wk|0)!=(Dk|0)){hd(wk,q[Dk>>2],q[Dk+4>>2]);xk=q[Lk>>2]}xk=Fk+q[xk+Gk>>2]|0;q[xk>>2]=q[xk>>2]+(1<>>1)-wk|0;vk=zk-wk|0;m:{if((vk|0)==(wk|0)){vk=wk;break m}xk=q[Ye+596>>2];if((xk|0)==q[Rk>>2]){break k}zk=q[xk>>2];Dk=q[Ye+600>>2];Hk=Dk+1|0;q[Ye+600>>2]=Hk;zk=zk&-2147483648>>>Dk;n:{if((Hk|0)==32){q[Ye+600>>2]=0;q[Ye+596>>2]=xk+4;if(zk){break n}break k}if(!zk){break k}}}xk=vk;vk=wk;break j}while(1){Ak=(vk+ -1|0)==(Ak|0)?0:Ak+1|0;q[xk+(wk<<2)>>2]=Ak;wk=wk+1|0;vk=q[Ye+12>>2];if(wk>>>0>>0){continue}break}break i}xk=wk}wk=q[Mk>>2];zk=wk+Bk|0;Dk=q[zk>>2];Bk=Dk+Fk|0;q[Bk>>2]=q[Bk>>2]+1;hd(wk+Gk|0,Dk,q[zk+4>>2]);if(vk){Dk=q[yk+28>>2]+q[yk+24>>2]|0;Bk=q[yk+16>>2];wk=q[yk+12>>2];zk=Bk-wk|0;if((Dk|0)==((zk?w(zk>>2,341)+ -1|0:0)|0)){re(yk+8|0);Dk=q[yk+24>>2]+q[yk+28>>2]|0;Bk=q[yk+16>>2];wk=q[yk+12>>2]}zk=0;o:{if((wk|0)==(Bk|0)){break o}zk=wk;wk=(Dk>>>0)/341|0;zk=q[zk+(wk<<2)>>2]+w(Dk-w(wk,341)|0,12)|0}q[zk+8>>2]=Ck;q[zk+4>>2]=Ak;q[zk>>2]=vk;q[yk+28>>2]=q[yk+28>>2]+1}if(!xk){break f}wk=q[yk+28>>2]+q[yk+24>>2]|0;zk=q[yk+16>>2];vk=q[yk+12>>2];Ck=zk-vk|0;if((wk|0)==((Ck?w(Ck>>2,341)+ -1|0:0)|0)){re(yk+8|0);zk=q[yk+16>>2];wk=q[yk+24>>2]+q[yk+28>>2]|0;vk=q[yk+12>>2]}if((vk|0)==(zk|0)){vk=0}else{zk=vk;vk=(wk>>>0)/341|0;vk=q[zk+(vk<<2)>>2]+w(wk-w(vk,341)|0,12)|0}q[vk+8>>2]=Ek;q[vk+4>>2]=Ak;q[vk>>2]=xk;vk=q[yk+28>>2]+1|0;q[yk+28>>2]=vk;break e}if(!zk){break f}Fk=0;while(1){if(vk){Ak=q[Ok>>2];Hk=q[Nk>>2];Sk=q[Dk>>2];Tk=q[Gk>>2];vk=0;while(1){Ck=Hk+(vk<<2)|0;q[Ak+(q[Ck>>2]<<2)>>2]=0;wk=q[Ck>>2]<<2;xk=q[Ye>>2]-q[wk+Tk>>2]|0;p:{if(!xk){break p}wk=wk+Ak|0;Bk=q[Ye+560>>2];Ik=32-Bk|0;if((xk|0)<=(Ik|0)){Ek=q[Kk>>2];if((Ek|0)==q[Pk>>2]){q[wk>>2]=0;break p}q[wk>>2]=q[Ek>>2]<>>32-xk;xk=xk+q[Ye+560>>2]|0;q[Ye+560>>2]=xk;if((xk|0)!=32){break p}q[Ye+560>>2]=0;q[Kk>>2]=Ek+4;break p}Ek=q[Kk>>2];Qk=Ek+4|0;if((Qk|0)==q[Pk>>2]){q[wk>>2]=0;break p}Uk=q[Ek>>2];q[Kk>>2]=Qk;Ik=xk-Ik|0;q[Ye+560>>2]=Ik;q[wk>>2]=q[Ek+4>>2]>>>32-Ik|Uk<>>32-xk}xk=q[Ck>>2]<<2;wk=xk+Ak|0;q[wk>>2]=q[wk>>2]|q[xk+Sk>>2];vk=vk+1|0;if(vk>>>0>2]){continue}break}}Ck=0;vk=q[ci+16>>2];q:{if((vk|0)==q[Jk>>2]){break q}while(1){vk=w(Ck,20)+vk|0;xk=q[Ok>>2]+(q[vk+4>>2]<<2)|0;Bk=q[vk>>2];Ak=q[vk+12>>2];r:{if(Ak>>>0>3){break r}wk=q[ci+12>>2];Ek=vk+16|0;if(!q[Ek>>2]){xk=wk;break r}Hk=vk+12|0;vk=0;while(1){wk=Cn(wk,(vk<<2)+xk|0,Ak);Ak=q[Hk>>2];wk=wk+Ak|0;vk=vk+1|0;if(vk>>>0>2]){continue}break}xk=q[ci+12>>2]}vk=q[ci+28>>2];vk=r[Bk+84|0]?vk:q[q[Bk+68>>2]+(vk<<2)>>2];if(vk>>>0>=t[Bk+80>>2]){break q}wk=vk;vk=q[Bk+40>>2];Cn(q[q[Bk>>2]>>2]+w(wk,vk)|0,xk,vk);Ck=Ck+1|0;vk=q[ci+16>>2];if(Ck>>>0<(q[Jk>>2]-vk|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Fk=Fk+1|0;if((Fk|0)==(zk|0)){break f}vk=q[Ye+12>>2];continue}}vk=q[yk+28>>2]}if(vk){continue}break}wk=1}se(yk+8|0);vk=q[yk+12>>2];Ye=q[yk+16>>2];s:{if((vk|0)==(Ye|0)){break s}while(1){An(q[vk>>2]);vk=vk+4|0;if((Ye|0)!=(vk|0)){continue}break}Ye=q[yk+16>>2];Zh=q[yk+12>>2];if((Ye|0)==(Zh|0)){break s}q[yk+16>>2]=Ye+(((Ye-Zh|0)+ -4>>>2^-1)<<2)}Ye=q[yk+8>>2];if(Ye){An(Ye)}T=yk+32|0;return wk}bn();F()}bn();F()}function de(q){ah(q);ah(q+16|0);ah(q+32|0);ah(q+48|0);ah(q- -64|0);ah(q+80|0);ah(q+96|0);ah(q+112|0);ah(q+128|0);ah(q+144|0);ah(q+160|0);ah(q+176|0);ah(q+192|0);ah(q+208|0);ah(q+224|0);ah(q+240|0);ah(q+256|0);ah(q+272|0);ah(q+288|0);ah(q+304|0);ah(q+320|0);ah(q+336|0);ah(q+352|0);ah(q+368|0);ah(q+384|0);ah(q+400|0);ah(q+416|0);ah(q+432|0);ah(q+448|0);ah(q+464|0);ah(q+480|0);ah(q+496|0)}function ee(Ye,Zh,ci){var Vk=0,Wk=0,Xk=0,Yk=0,Zk=0,_k=0,$k=0,al=0,bl=0,cl=0,dl=0,el=0,fl=0,gl=0,hl=0,il=0,jl=0,kl=0,ll=0,ml=0,nl=0,ol=0,pl=0,ql=0,rl=0,sl=0;Yk=T-32|0;T=Yk;Vk=q[Ye+12>>2];q[Yk+16>>2]=0;q[Yk+8>>2]=0;q[Yk+12>>2]=0;a:{if(Vk){if(Vk>>>0>=1073741824){break a}Wk=Vk<<2;Xk=Mm(Wk);q[Yk+8>>2]=Xk;q[Yk+12>>2]=Xk;q[Yk+16>>2]=Wk+Xk;Zk=Dn(Xk,0,Wk);Wk=Vk;while(1){Zk=Zk+4|0;Wk=Wk+ -1|0;if(Wk){continue}break}q[Yk+12>>2]=Zk}Wk=q[Ye+628>>2];_k=q[Wk>>2];if(_k){q[Wk+4>>2]=_k;An(_k);q[Wk+8>>2]=0;q[Wk>>2]=0;q[Wk+4>>2]=0;Vk=q[Ye+12>>2];Zk=q[Yk+12>>2];Xk=q[Yk+8>>2]}q[Wk>>2]=Xk;q[Wk+4>>2]=Zk;q[Wk+8>>2]=q[Yk+16>>2];Zk=0;q[Yk+16>>2]=0;q[Yk+8>>2]=0;q[Yk+12>>2]=0;Wk=0;b:{if(Vk){if(Vk>>>0>=1073741824){break b}Xk=Vk<<2;Wk=Mm(Xk);q[Yk+8>>2]=Wk;q[Yk+12>>2]=Wk;q[Yk+16>>2]=Wk+Xk;Zk=Dn(Wk,0,Xk);while(1){Zk=Zk+4|0;Vk=Vk+ -1|0;if(Vk){continue}break}q[Yk+12>>2]=Zk}Xk=q[Ye+640>>2];Vk=q[Xk>>2];if(Vk){q[Xk+4>>2]=Vk;An(Vk);q[Xk+8>>2]=0;q[Xk>>2]=0;q[Xk+4>>2]=0;Zk=q[Yk+12>>2];Wk=q[Yk+8>>2]}q[Xk>>2]=Wk;q[Xk+4>>2]=Zk;q[Xk+8>>2]=q[Yk+16>>2];Vk=Yk+24|0;q[Vk>>2]=0;q[Vk+4>>2]=0;Wk=Yk+16|0;q[Wk>>2]=0;q[Wk+4>>2]=0;q[Yk+8>>2]=0;q[Yk+12>>2]=0;re(Yk+8|0);_k=q[Wk>>2];Wk=q[Yk+12>>2];Xk=0;c:{if((_k|0)==(Wk|0)){break c}Xk=q[Vk>>2]+q[Yk+28>>2]|0;Vk=(Xk>>>0)/341|0;Xk=q[Wk+(Vk<<2)>>2]+w(Xk-w(Vk,341)|0,12)|0}q[Xk+4>>2]=0;q[Xk+8>>2]=0;q[Xk>>2]=Zh;Xk=1;Wk=q[Yk+28>>2];Vk=Wk+1|0;q[Yk+28>>2]=Vk;d:{if(Vk>>>0>>0){break d}jl=Ye+628|0;kl=Ye+640|0;gl=ci+20|0;ll=Ye+616|0;ml=Ye+604|0;hl=Ye+556|0;nl=Ye+548|0;pl=Ye+588|0;while(1){dl=q[Yk+12>>2];Zk=q[Yk+24>>2];$k=Vk+ -1|0;Xk=Zk+$k|0;Wk=(Xk>>>0)/341|0;Xk=q[dl+(Wk<<2)>>2]+w(Xk-w(Wk,341)|0,12)|0;al=q[Xk+8>>2];Wk=q[Xk+4>>2];_k=q[Xk>>2];q[Yk+28>>2]=$k;Xk=q[Yk+16>>2];$k=Xk-dl|0;if((($k?w($k>>2,341)+ -1|0:0)-(Vk+Zk|0)|0)+1>>>0>=682){An(q[Xk+ -4>>2]);q[Yk+16>>2]=q[Yk+16>>2]+ -4}if(_k>>>0>Zh>>>0){Xk=0;break d}Xk=0;Vk=q[Ye+12>>2];Zk=(Wk|0)==(Vk+ -1|0)?0:Wk+1|0;if(Zk>>>0>=Vk>>>0){break d}Vk=q[jl>>2];$k=w(al,12);dl=Vk+$k|0;e:{f:{bl=Zk<<2;el=$k+q[kl>>2]|0;Wk=q[Ye>>2]-q[bl+q[el>>2]>>2]|0;if(!Wk){if(!_k){break f}bl=0;while(1){$k=0;Vk=q[ci+16>>2];g:{if((Vk|0)==q[gl>>2]){break g}while(1){Vk=w($k,20)+Vk|0;Xk=q[dl>>2]+(q[Vk+4>>2]<<2)|0;al=q[Vk>>2];Zk=q[Vk+12>>2];h:{if(Zk>>>0>3){break h}Wk=q[ci+12>>2];cl=Vk+16|0;if(!q[cl>>2]){Xk=Wk;break h}el=Vk+12|0;Vk=0;while(1){Wk=Cn(Wk,(Vk<<2)+Xk|0,Zk);Zk=q[el>>2];Wk=Wk+Zk|0;Vk=Vk+1|0;if(Vk>>>0>2]){continue}break}Xk=q[ci+12>>2]}Vk=q[ci+28>>2];Vk=r[al+84|0]?Vk:q[q[al+68>>2]+(Vk<<2)>>2];if(Vk>>>0>=t[al+80>>2]){break g}Wk=Vk;Vk=q[al+40>>2];Cn(q[q[al>>2]>>2]+w(Wk,Vk)|0,Xk,Vk);$k=$k+1|0;Vk=q[ci+16>>2];if($k>>>0<(q[gl>>2]-Vk|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;bl=bl+1|0;if((_k|0)!=(bl|0)){continue}break}break f}i:{j:{k:{l:{if(_k>>>0<=2){Xk=q[ll>>2];q[Xk>>2]=Zk;Wk=1;Vk=q[Ye+12>>2];if(Vk>>>0>1){break l}break i}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}Xk=$k+12|0;hd(Xk+Vk|0,q[dl>>2],q[dl+4>>2]);Xk=bl+q[Xk+q[jl>>2]>>2]|0;q[Xk>>2]=q[Xk>>2]+(1<>>1)-Wk|0;Vk=_k-Wk|0;m:{if((Vk|0)==(Wk|0)){Vk=Wk;break m}Xk=q[Ye+596>>2];if((Xk|0)==q[pl>>2]){break k}_k=q[Xk>>2];cl=q[Ye+600>>2];el=cl+1|0;q[Ye+600>>2]=el;_k=_k&-2147483648>>>cl;n:{if((el|0)==32){q[Ye+600>>2]=0;q[Ye+596>>2]=Xk+4;if(_k){break n}break k}if(!_k){break k}}}Xk=Vk;Vk=Wk;break j}while(1){Zk=(Vk+ -1|0)==(Zk|0)?0:Zk+1|0;q[Xk+(Wk<<2)>>2]=Zk;Wk=Wk+1|0;Vk=q[Ye+12>>2];if(Wk>>>0>>0){continue}break}break i}Xk=Wk}Wk=q[kl>>2];_k=Wk+$k|0;$k=q[_k>>2];bl=$k+bl|0;q[bl>>2]=q[bl>>2]+1;hd(Wk+w(dl,12)|0,$k,q[_k+4>>2]);if(Vk){$k=q[Yk+28>>2]+q[Yk+24>>2]|0;bl=q[Yk+16>>2];Wk=q[Yk+12>>2];_k=bl-Wk|0;if(($k|0)==((_k?w(_k>>2,341)+ -1|0:0)|0)){re(Yk+8|0);$k=q[Yk+24>>2]+q[Yk+28>>2]|0;bl=q[Yk+16>>2];Wk=q[Yk+12>>2]}_k=0;o:{if((Wk|0)==(bl|0)){break o}_k=Wk;Wk=($k>>>0)/341|0;_k=q[_k+(Wk<<2)>>2]+w($k-w(Wk,341)|0,12)|0}q[_k+8>>2]=al;q[_k+4>>2]=Zk;q[_k>>2]=Vk;q[Yk+28>>2]=q[Yk+28>>2]+1}if(!Xk){break f}Wk=q[Yk+28>>2]+q[Yk+24>>2]|0;$k=q[Yk+16>>2];Vk=q[Yk+12>>2];_k=$k-Vk|0;if((Wk|0)==((_k?w(_k>>2,341)+ -1|0:0)|0)){re(Yk+8|0);$k=q[Yk+16>>2];Wk=q[Yk+24>>2]+q[Yk+28>>2]|0;Vk=q[Yk+12>>2]}if((Vk|0)==($k|0)){Vk=0}else{_k=Vk;Vk=(Wk>>>0)/341|0;Vk=q[_k+(Vk<<2)>>2]+w(Wk-w(Vk,341)|0,12)|0}q[Vk+8>>2]=dl;q[Vk+4>>2]=Zk;q[Vk>>2]=Xk;Vk=q[Yk+28>>2]+1|0;q[Yk+28>>2]=Vk;break e}if(!_k){break f}bl=0;while(1){if(Vk){Zk=q[ml>>2];il=q[ll>>2];ql=q[dl>>2];rl=q[el>>2];Vk=0;while(1){$k=il+(Vk<<2)|0;q[Zk+(q[$k>>2]<<2)>>2]=0;Wk=q[$k>>2]<<2;Xk=q[Ye>>2]-q[Wk+rl>>2]|0;p:{if(!Xk){break p}Wk=Wk+Zk|0;al=q[Ye+560>>2];fl=32-al|0;if((Xk|0)<=(fl|0)){cl=q[hl>>2];if((cl|0)==q[nl>>2]){q[Wk>>2]=0;break p}q[Wk>>2]=q[cl>>2]<>>32-Xk;Xk=Xk+q[Ye+560>>2]|0;q[Ye+560>>2]=Xk;if((Xk|0)!=32){break p}q[Ye+560>>2]=0;q[hl>>2]=cl+4;break p}cl=q[hl>>2];ol=cl+4|0;if((ol|0)==q[nl>>2]){q[Wk>>2]=0;break p}sl=q[cl>>2];q[hl>>2]=ol;fl=Xk-fl|0;q[Ye+560>>2]=fl;q[Wk>>2]=q[cl+4>>2]>>>32-fl|sl<>>32-Xk}Xk=q[$k>>2]<<2;Wk=Xk+Zk|0;q[Wk>>2]=q[Wk>>2]|q[Xk+ql>>2];Vk=Vk+1|0;if(Vk>>>0>2]){continue}break}}$k=0;Vk=q[ci+16>>2];q:{if((Vk|0)==q[gl>>2]){break q}while(1){Vk=w($k,20)+Vk|0;Xk=q[ml>>2]+(q[Vk+4>>2]<<2)|0;al=q[Vk>>2];Zk=q[Vk+12>>2];r:{if(Zk>>>0>3){break r}Wk=q[ci+12>>2];cl=Vk+16|0;if(!q[cl>>2]){Xk=Wk;break r}il=Vk+12|0;Vk=0;while(1){Wk=Cn(Wk,(Vk<<2)+Xk|0,Zk);Zk=q[il>>2];Wk=Wk+Zk|0;Vk=Vk+1|0;if(Vk>>>0>2]){continue}break}Xk=q[ci+12>>2]}Vk=q[ci+28>>2];Vk=r[al+84|0]?Vk:q[q[al+68>>2]+(Vk<<2)>>2];if(Vk>>>0>=t[al+80>>2]){break q}Wk=Vk;Vk=q[al+40>>2];Cn(q[q[al>>2]>>2]+w(Wk,Vk)|0,Xk,Vk);$k=$k+1|0;Vk=q[ci+16>>2];if($k>>>0<(q[gl>>2]-Vk|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;bl=bl+1|0;if((bl|0)==(_k|0)){break f}Vk=q[Ye+12>>2];continue}}Vk=q[Yk+28>>2]}if(Vk){continue}break}Xk=1}se(Yk+8|0);Vk=q[Yk+12>>2];Ye=q[Yk+16>>2];s:{if((Vk|0)==(Ye|0)){break s}while(1){An(q[Vk>>2]);Vk=Vk+4|0;if((Ye|0)!=(Vk|0)){continue}break}Ye=q[Yk+16>>2];Zh=q[Yk+12>>2];if((Ye|0)==(Zh|0)){break s}q[Yk+16>>2]=Ye+(((Ye-Zh|0)+ -4>>>2^-1)<<2)}Ye=q[Yk+8>>2];if(Ye){An(Ye)}T=Yk+32|0;return Xk}bn();F()}bn();F()}function fe(Ye,Zh,ci){var tl=0,ul=0,vl=0,wl=0,xl=0,yl=0,zl=0,Al=0,Bl=0,Cl=0,Dl=0,El=0,Fl=0,Gl=0,Hl=0,Il=0,Jl=0,Kl=0,Ll=0,Ml=0,Nl=0,Ol=0,Pl=0,Ql=0,Rl=0,Sl=0;wl=T-32|0;T=wl;tl=q[Ye+12>>2];q[wl+16>>2]=0;q[wl+8>>2]=0;q[wl+12>>2]=0;a:{if(tl){if(tl>>>0>=1073741824){break a}ul=tl<<2;vl=Mm(ul);q[wl+8>>2]=vl;q[wl+12>>2]=vl;q[wl+16>>2]=ul+vl;yl=Dn(vl,0,ul);ul=tl;while(1){yl=yl+4|0;ul=ul+ -1|0;if(ul){continue}break}q[wl+12>>2]=yl}ul=q[Ye+628>>2];xl=q[ul>>2];if(xl){q[ul+4>>2]=xl;An(xl);q[ul+8>>2]=0;q[ul>>2]=0;q[ul+4>>2]=0;tl=q[Ye+12>>2];yl=q[wl+12>>2];vl=q[wl+8>>2]}q[ul>>2]=vl;q[ul+4>>2]=yl;q[ul+8>>2]=q[wl+16>>2];yl=0;q[wl+16>>2]=0;q[wl+8>>2]=0;q[wl+12>>2]=0;ul=0;b:{if(tl){if(tl>>>0>=1073741824){break b}vl=tl<<2;ul=Mm(vl);q[wl+8>>2]=ul;q[wl+12>>2]=ul;q[wl+16>>2]=ul+vl;yl=Dn(ul,0,vl);while(1){yl=yl+4|0;tl=tl+ -1|0;if(tl){continue}break}q[wl+12>>2]=yl}vl=q[Ye+640>>2];tl=q[vl>>2];if(tl){q[vl+4>>2]=tl;An(tl);q[vl+8>>2]=0;q[vl>>2]=0;q[vl+4>>2]=0;yl=q[wl+12>>2];ul=q[wl+8>>2]}q[vl>>2]=ul;q[vl+4>>2]=yl;q[vl+8>>2]=q[wl+16>>2];tl=wl+24|0;q[tl>>2]=0;q[tl+4>>2]=0;ul=wl+16|0;q[ul>>2]=0;q[ul+4>>2]=0;q[wl+8>>2]=0;q[wl+12>>2]=0;re(wl+8|0);xl=q[ul>>2];ul=q[wl+12>>2];vl=0;c:{if((xl|0)==(ul|0)){break c}vl=q[tl>>2]+q[wl+28>>2]|0;tl=(vl>>>0)/341|0;vl=q[ul+(tl<<2)>>2]+w(vl-w(tl,341)|0,12)|0}q[vl+4>>2]=0;q[vl+8>>2]=0;q[vl>>2]=Zh;ul=1;vl=q[wl+28>>2];tl=vl+1|0;q[wl+28>>2]=tl;d:{if(tl>>>0>>0){break d}Kl=Ye+640|0;Jl=Ye+628|0;Hl=ci+20|0;Ll=Ye+616|0;Ml=Ye+604|0;Il=Ye+556|0;Nl=Ye+548|0;Pl=Ye+588|0;while(1){Bl=q[wl+12>>2];ul=q[wl+24>>2];yl=tl+ -1|0;vl=ul+yl|0;xl=(vl>>>0)/341|0;vl=q[Bl+(xl<<2)>>2]+w(vl-w(xl,341)|0,12)|0;Al=q[vl+8>>2];xl=q[vl>>2];q[wl+28>>2]=yl;vl=q[wl+16>>2];yl=vl-Bl|0;if(((yl?w(yl>>2,341)+ -1|0:0)-(tl+ul|0)|0)+1>>>0>=682){An(q[vl+ -4>>2]);q[wl+16>>2]=q[wl+16>>2]+ -4}ul=0;if(xl>>>0>Zh>>>0){break d}vl=q[Jl>>2];zl=w(Al,12);Dl=zl+q[Kl>>2]|0;yl=nl(Ye,xl,Dl);if(yl>>>0>=t[Ye+12>>2]){break d}Bl=vl+zl|0;e:{f:{El=yl<<2;tl=q[Ye>>2]-q[El+q[Dl>>2]>>2]|0;if(!tl){if(!xl){break f}Dl=0;while(1){Al=0;tl=q[ci+16>>2];g:{if((tl|0)==q[Hl>>2]){break g}while(1){tl=w(Al,20)+tl|0;vl=q[Bl>>2]+(q[tl+4>>2]<<2)|0;zl=q[tl>>2];yl=q[tl+12>>2];h:{if(yl>>>0>3){break h}ul=q[ci+12>>2];El=tl+16|0;if(!q[El>>2]){vl=ul;break h}Cl=tl+12|0;tl=0;while(1){ul=Cn(ul,(tl<<2)+vl|0,yl);yl=q[Cl>>2];ul=ul+yl|0;tl=tl+1|0;if(tl>>>0>2]){continue}break}vl=q[ci+12>>2]}tl=q[ci+28>>2];tl=r[zl+84|0]?tl:q[q[zl+68>>2]+(tl<<2)>>2];if(tl>>>0>=t[zl+80>>2]){break g}ul=tl;tl=q[zl+40>>2];Cn(q[q[zl>>2]>>2]+w(ul,tl)|0,vl,tl);Al=Al+1|0;tl=q[ci+16>>2];if(Al>>>0<(q[Hl>>2]-tl|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;Dl=Dl+1|0;if((xl|0)!=(Dl|0)){continue}break}break f}i:{j:{k:{l:{if(xl>>>0<=2){vl=q[Ll>>2];q[vl>>2]=yl;ul=1;tl=q[Ye+12>>2];if(tl>>>0>1){break l}break i}if(t[Ye+8>>2]>t[Ye+4>>2]){break d}vl=q[Jl>>2];Cl=Al+1|0;Dl=w(Cl,12);ul=vl+Dl|0;if((ul|0)!=(Bl|0)){hd(ul,q[Bl>>2],q[Bl+4>>2]);vl=q[Jl>>2]}vl=El+q[vl+Dl>>2]|0;q[vl>>2]=q[vl>>2]+(1<>>1)-ul|0;tl=xl-ul|0;m:{if((tl|0)==(ul|0)){tl=ul;break m}vl=q[Ye+596>>2];if((vl|0)==q[Pl>>2]){break k}xl=q[vl>>2];Bl=q[Ye+600>>2];Fl=Bl+1|0;q[Ye+600>>2]=Fl;xl=xl&-2147483648>>>Bl;n:{if((Fl|0)==32){q[Ye+600>>2]=0;q[Ye+596>>2]=vl+4;if(xl){break n}break k}if(!xl){break k}}}vl=tl;tl=ul;break j}while(1){yl=(tl+ -1|0)==(yl|0)?0:yl+1|0;q[vl+(ul<<2)>>2]=yl;ul=ul+1|0;tl=q[Ye+12>>2];if(ul>>>0>>0){continue}break}break i}vl=ul}ul=q[Kl>>2];xl=ul+zl|0;Bl=q[xl>>2];zl=Bl+El|0;q[zl>>2]=q[zl>>2]+1;hd(ul+Dl|0,Bl,q[xl+4>>2]);if(tl){Bl=q[wl+28>>2]+q[wl+24>>2]|0;zl=q[wl+16>>2];ul=q[wl+12>>2];xl=zl-ul|0;if((Bl|0)==((xl?w(xl>>2,341)+ -1|0:0)|0)){re(wl+8|0);Bl=q[wl+24>>2]+q[wl+28>>2]|0;zl=q[wl+16>>2];ul=q[wl+12>>2]}xl=0;o:{if((ul|0)==(zl|0)){break o}xl=ul;ul=(Bl>>>0)/341|0;xl=q[xl+(ul<<2)>>2]+w(Bl-w(ul,341)|0,12)|0}q[xl+8>>2]=Al;q[xl+4>>2]=yl;q[xl>>2]=tl;q[wl+28>>2]=q[wl+28>>2]+1}if(!vl){break f}ul=q[wl+28>>2]+q[wl+24>>2]|0;xl=q[wl+16>>2];tl=q[wl+12>>2];Al=xl-tl|0;if((ul|0)==((Al?w(Al>>2,341)+ -1|0:0)|0)){re(wl+8|0);xl=q[wl+16>>2];ul=q[wl+24>>2]+q[wl+28>>2]|0;tl=q[wl+12>>2]}if((tl|0)==(xl|0)){tl=0}else{xl=tl;tl=(ul>>>0)/341|0;tl=q[xl+(tl<<2)>>2]+w(ul-w(tl,341)|0,12)|0}q[tl+8>>2]=Cl;q[tl+4>>2]=yl;q[tl>>2]=vl;tl=q[wl+28>>2]+1|0;q[wl+28>>2]=tl;break e}if(!xl){break f}El=0;while(1){if(tl){yl=q[Ml>>2];Fl=q[Ll>>2];Ql=q[Bl>>2];Rl=q[Dl>>2];tl=0;while(1){Al=Fl+(tl<<2)|0;q[yl+(q[Al>>2]<<2)>>2]=0;ul=q[Al>>2]<<2;vl=q[Ye>>2]-q[ul+Rl>>2]|0;p:{if(!vl){break p}ul=ul+yl|0;zl=q[Ye+560>>2];Gl=32-zl|0;if((vl|0)<=(Gl|0)){Cl=q[Il>>2];if((Cl|0)==q[Nl>>2]){q[ul>>2]=0;break p}q[ul>>2]=q[Cl>>2]<>>32-vl;vl=vl+q[Ye+560>>2]|0;q[Ye+560>>2]=vl;if((vl|0)!=32){break p}q[Ye+560>>2]=0;q[Il>>2]=Cl+4;break p}Cl=q[Il>>2];Ol=Cl+4|0;if((Ol|0)==q[Nl>>2]){q[ul>>2]=0;break p}Sl=q[Cl>>2];q[Il>>2]=Ol;Gl=vl-Gl|0;q[Ye+560>>2]=Gl;q[ul>>2]=q[Cl+4>>2]>>>32-Gl|Sl<>>32-vl}vl=q[Al>>2]<<2;ul=vl+yl|0;q[ul>>2]=q[ul>>2]|q[vl+Ql>>2];tl=tl+1|0;if(tl>>>0>2]){continue}break}}Al=0;tl=q[ci+16>>2];q:{if((tl|0)==q[Hl>>2]){break q}while(1){tl=w(Al,20)+tl|0;vl=q[Ml>>2]+(q[tl+4>>2]<<2)|0;zl=q[tl>>2];yl=q[tl+12>>2];r:{if(yl>>>0>3){break r}ul=q[ci+12>>2];Cl=tl+16|0;if(!q[Cl>>2]){vl=ul;break r}Fl=tl+12|0;tl=0;while(1){ul=Cn(ul,(tl<<2)+vl|0,yl);yl=q[Fl>>2];ul=ul+yl|0;tl=tl+1|0;if(tl>>>0>2]){continue}break}vl=q[ci+12>>2]}tl=q[ci+28>>2];tl=r[zl+84|0]?tl:q[q[zl+68>>2]+(tl<<2)>>2];if(tl>>>0>=t[zl+80>>2]){break q}ul=tl;tl=q[zl+40>>2];Cn(q[q[zl>>2]>>2]+w(ul,tl)|0,vl,tl);Al=Al+1|0;tl=q[ci+16>>2];if(Al>>>0<(q[Hl>>2]-tl|0)/20>>>0){continue}break}}q[ci+28>>2]=q[ci+28>>2]+1;q[Ye+8>>2]=q[Ye+8>>2]+1;El=El+1|0;if((El|0)==(xl|0)){break f}tl=q[Ye+12>>2];continue}}tl=q[wl+28>>2]}if(tl){continue}break}ul=1}se(wl+8|0);tl=q[wl+12>>2];Ye=q[wl+16>>2];s:{if((tl|0)==(Ye|0)){break s}while(1){An(q[tl>>2]);tl=tl+4|0;if((Ye|0)!=(tl|0)){continue}break}Ye=q[wl+16>>2];Zh=q[wl+12>>2];if((Ye|0)==(Zh|0)){break s}q[wl+16>>2]=Ye+(((Ye-Zh|0)+ -4>>>2^-1)<<2)}Ye=q[wl+8>>2];if(Ye){An(Ye)}T=wl+32|0;return ul}bn();F()}bn();F()}function ge(Ye,Zh){Ye=Ye|0;Zh=Zh|0;var ci=0,Tl=0,Ul=0,Vl=0,Wl=0,Xl=0,Zl=0,_l=0,$l=0,am=0,bm=0,cm=0,dm=0,em=0,fm=0,gm=0,hm=0,im=0,jm=0;Ul=T-720|0;T=Ul;a:{b:{c:{d:{if(s[Zh+38>>1]>=515){q[Ul+680>>2]=0;q[Ul+672>>2]=0;q[Ul+676>>2]=0;cm=Ye+36|0;am=Ul+24|0;$l=Ye+40|0;dm=Ye+60|0;fm=Ye+44|0;while(1){if((Wl|0)>=(n[q[q[Ye>>2]+24>>2]](Ye)|0)){gm=1;ci=Ye+52|0;if(q[ci>>2]==q[Ye+48>>2]){break b}Wl=0;while(1){if(he(1,Ul+16|0,Zh)){Tl=q[Ul+16>>2];Xl=0-(Tl&1)^Tl>>>1}Tl=q[Ye+48>>2];q[Tl+(Wl<<2)>>2]=Xl;Wl=Wl+1|0;if(Wl>>>0>2]-Tl>>2>>>0){continue}break}break b}ci=n[q[q[Ye>>2]+20>>2]](Ye,Wl)|0;Tl=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(ci<<2)>>2];if(q[Tl+28>>2]==9){Vl=q[Ul+672>>2];ci=q[Ul+676>>2]-Vl>>2;Zl=o[Tl+24|0];e:{if(ci>>>0>>0){Fa(Ul+672|0,Zl-ci|0);break e}if(ci>>>0<=Zl>>>0){break e}q[Ul+676>>2]=Vl+(Zl<<2)}ci=q[Zh+12>>2];Tl=q[Zh+20>>2];Xl=q[Zh+16>>2];_l=Zl<<2;Vl=_l;em=Xl+Vl|0;if(em>>>0>>0){Tl=Tl+1|0}if((ci|0)<(Tl|0)?1:(ci|0)<=(Tl|0)?t[Zh+8>>2]>=em>>>0?0:1:0){break b}Cn(q[Ul+672>>2],Xl+q[Zh>>2]|0,_l);ci=q[Zh+20>>2];Xl=Vl+q[Zh+16>>2]|0;if(Xl>>>0>>0){ci=ci+1|0}q[Zh+16>>2]=Xl;q[Zh+20>>2]=ci;Vl=q[Zh+12>>2];bm=Vl;Tl=ci;_l=Xl+4|0;if(_l>>>0<4){Tl=Tl+1|0}em=q[Zh+8>>2];if((Vl|0)<(Tl|0)?1:(Vl|0)<=(Tl|0)?em>>>0>=_l>>>0?0:1:0){break b}hm=q[Zh>>2];Vl=hm+Xl|0;Vl=r[Vl|0]|r[Vl+1|0]<<8|(r[Vl+2|0]<<16|r[Vl+3|0]<<24);q[Zh+16>>2]=_l;q[Zh+20>>2]=Tl;if((bm|0)<(Tl|0)?1:(bm|0)<=(Tl|0)?em>>>0>_l>>>0?0:1:0){break b}_l=r[_l+hm|0];Tl=ci;ci=Xl+5|0;if(ci>>>0<5){Tl=Tl+1|0}q[Zh+16>>2]=ci;q[Zh+20>>2]=Tl;if(_l>>>0>31){break b}q[Ul+20>>2]=-1;q[Ul+16>>2]=1232;ci=am;q[ci+8>>2]=0;q[ci+12>>2]=0;q[ci>>2]=0;q[ci+4>>2]=0;gd(Ul+16|0,_l,q[Ul+672>>2],Zl,(f(0,Vl),j()));ci=1;if(ld(Ul+16|0,q[q[dm>>2]+((q[$l>>2]-q[Ye+36>>2]|0)/24<<2)>>2])){ci=q[$l>>2];f:{if((ci|0)!=q[fm>>2]){q[ci>>2]=1232;Tl=q[Ul+20>>2];Vl=ci+16|0;q[Vl>>2]=0;q[ci+8>>2]=0;q[ci+12>>2]=0;q[ci+4>>2]=Tl;Tl=q[Ul+28>>2]-q[Ul+24>>2]|0;g:{if(!Tl){break g}Zl=Tl>>2;if(Zl>>>0>=1073741824){break d}Tl=Mm(Tl);q[ci+8>>2]=Tl;Xl=ci+12|0;q[Xl>>2]=Tl;q[Vl>>2]=Tl+(Zl<<2);Zl=q[Ul+24>>2];Vl=q[Ul+28>>2]-Zl|0;if((Vl|0)<1){break g}im=Xl,jm=Cn(Tl,Zl,Vl)+Vl|0,q[im>>2]=jm}q[ci+20>>2]=q[Ul+36>>2];q[$l>>2]=q[$l>>2]+24;break f}ie(cm,Ul+16|0)}ci=0}q[Ul+16>>2]=1232;Xl=q[Ul+24>>2];if(Xl){q[Ul+28>>2]=Xl;An(Xl)}if(ci){break b}}Wl=Wl+1|0;continue}}am=n[q[q[Ye>>2]+24>>2]](Ye)|0;q[Ul+712>>2]=0;q[Ul+704>>2]=0;q[Ul+708>>2]=0;h:{i:{if(!am){Wl=q[q[Ye>>2]+20>>2];break i}if(am>>>0>=214748365){break c}ci=w(am,20);Wl=Mm(ci);q[Ul+704>>2]=Wl;q[Ul+708>>2]=Wl;q[Ul+712>>2]=ci+Wl;Dn(Wl,0,ci);ci=am;while(1){Wl=Wl+20|0;ci=ci+ -1|0;if(ci){continue}break}q[Ul+708>>2]=Wl;Wl=q[q[Ye>>2]+20>>2];if(!am){break i}ci=0;while(1){Tl=n[Wl](Ye,ci)|0;Vl=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(Tl<<2)>>2];Wl=q[Vl+28>>2];Tl=bk(Wl);Zl=(Tl|0)>0?Tl:0;if(Zl>>>0>4){break h}Tl=q[Ul+704>>2]+w(ci,20)|0;$l=o[Vl+24|0];q[Tl+16>>2]=$l;q[Tl+12>>2]=Zl;q[Tl+8>>2]=Wl;q[Tl+4>>2]=Xl;q[Tl>>2]=Vl;Xl=Xl+$l|0;Wl=q[q[Ye>>2]+20>>2];ci=ci+1|0;if((am|0)!=(ci|0)){continue}break}}ci=n[Wl](Ye,0)|0;cm=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(ci<<2)>>2];o[cm+84|0]=1;q[cm+72>>2]=q[cm+68>>2];_l=q[Zh+8>>2];$l=q[Zh+16>>2];Vl=q[Zh+12>>2];ci=Vl;Tl=q[Zh+20>>2];if((ci|0)<(Tl|0)?1:(ci|0)<=(Tl|0)?_l>>>0>$l>>>0?0:1:0){break h}dm=q[Zh>>2];fm=r[dm+$l|0];Zl=Zh;ci=Tl;Wl=$l+1|0;if(Wl>>>0<1){ci=ci+1|0}bm=Wl;Wl=ci;q[Zl+16>>2]=bm;q[Zl+20>>2]=ci;if(fm>>>0>1){break h}j:{if(fm-1){if((Vl|0)<(Wl|0)?1:(Vl|0)<=(Wl|0)?_l>>>0>bm>>>0?0:1:0){break h}Ye=Tl;am=$l+2|0;if(am>>>0<2){Ye=Ye+1|0}ci=Zh;q[ci+16>>2]=am;q[ci+20>>2]=Ye;Ye=$l+6|0;if(Ye>>>0<6){Tl=Tl+1|0}Wl=Ye;Ye=Tl;if((Vl|0)<(Ye|0)?1:(Vl|0)<=(Ye|0)?_l>>>0>=Wl>>>0?0:1:0){break h}ci=am+dm|0;ci=r[ci|0]|r[ci+1|0]<<8|(r[ci+2|0]<<16|r[ci+3|0]<<24);q[Zh+16>>2]=Wl;q[Zh+20>>2]=Ye;td(cm,ci);Ye=Ul+672|0;q[Ye+20>>2]=0;q[Ye+12>>2]=0;q[Ye+16>>2]=0;q[Ye>>2]=0;q[Ye+4>>2]=0;q[Ye+20>>2]=ci;ci=Ye;Ye=Ld(Ul+16|0,Ul+704|0);ci=je(ci,Zh,Ye);Zh=q[Ye+16>>2];if(Zh){q[Ye+20>>2]=Zh;An(Zh)}Zh=q[Ye>>2];if(Zh){q[Ye+4>>2]=Zh;An(Zh)}if(ci){break j}break h}if((Vl|0)<(Wl|0)?1:(Vl|0)<=(Wl|0)?_l>>>0>bm>>>0?0:1:0){break h}Zl=r[bm+dm|0];ci=Tl;bm=$l+2|0;if(bm>>>0<2){ci=ci+1|0}q[Zh+16>>2]=bm;q[Zh+20>>2]=ci;if(Zl>>>0>=7){q[Ul>>2]=Zl;Yl(1644,Ul);break h}ci=$l+6|0;if(ci>>>0<6){Tl=Tl+1|0}Wl=ci;ci=Tl;if((Vl|0)<(ci|0)?1:(Vl|0)<=(ci|0)?_l>>>0>=Wl>>>0?0:1:0){break h}Tl=bm+dm|0;Vl=r[Tl|0]|r[Tl+1|0]<<8|(r[Tl+2|0]<<16|r[Tl+3|0]<<24);q[Zh+16>>2]=Wl;q[Zh+20>>2]=ci;if(am){ci=0;while(1){Tl=n[q[q[Ye>>2]+20>>2]](Ye,ci)|0;Tl=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(Tl<<2)>>2];td(Tl,Vl);o[Tl+84|0]=1;q[Tl+72>>2]=q[Tl+68>>2];ci=ci+1|0;if((am|0)!=(ci|0)){continue}break}}Wl=1;Ye=Ld(Ul+672|0,Ul+704|0);k:{if(Zl>>>0>6){break k}l:{m:{switch(Zl-1|0){default:ci=Od(Ul+16|0,Xl);Zh=Md(ci,Zh,Ye);Nd(ci);if(Zh){break l}break k;case 0:ci=Od(Ul+16|0,Xl);Zh=Pd(ci,Zh,Ye);Nd(ci);if(Zh){break l}break k;case 1:ci=Sd(Ul+16|0,Xl);Zh=Qd(ci,Zh,Ye);Rd(ci);if(Zh){break l}break k;case 2:ci=Sd(Ul+16|0,Xl);Zh=Td(ci,Zh,Ye);Rd(ci);if(Zh){break l}break k;case 3:ci=Wd(Ul+16|0,Xl);Zh=Ud(ci,Zh,Ye);Vd(ci);if(Zh){break l}break k;case 4:ci=Wd(Ul+16|0,Xl);Zh=Xd(ci,Zh,Ye);Vd(ci);if(Zh){break l}break k;case 5:break m}}ci=Wd(Ul+16|0,Xl);Zh=Yd(ci,Zh,Ye);Vd(ci);if(!Zh){break k}}Wl=0}Zh=q[Ye+16>>2];if(Zh){q[Ye+20>>2]=Zh;An(Zh)}Zh=q[Ye>>2];if(Zh){q[Ye+4>>2]=Zh;An(Zh)}if(Wl){break h}}gm=1}Ye=q[Ul+704>>2];if(!Ye){break a}q[Ul+708>>2]=Ye;An(Ye);break a}bn();F()}bn();F()}Ye=q[Ul+672>>2];if(!Ye){break a}q[Ul+676>>2]=Ye;An(Ye)}T=Ul+720|0;return gm|0}function he(Ye,Zh,Yl){var km=0,lm=0,mm=0,nm=0;a:{if(Ye>>>0>5){break a}mm=q[Yl+16>>2];km=q[Yl+12>>2];lm=q[Yl+20>>2];if((km|0)<(lm|0)?1:(km|0)<=(lm|0)?t[Yl+8>>2]>mm>>>0?0:1:0){break a}km=r[mm+q[Yl>>2]|0];mm=mm+1|0;if(mm>>>0<1){lm=lm+1|0}q[Yl+16>>2]=mm;q[Yl+20>>2]=lm;lm=Zh;if(km&128){if(!he(Ye+1|0,Zh,Yl)){break a}Ye=q[Zh>>2]<<7;q[Zh>>2]=Ye;km=Ye|km&127}q[lm>>2]=km;nm=1}return nm}function ie(Ye,Zh){var Yl=0,om=0,pm=0,qm=0,rm=0,sm=0,tm=0;a:{b:{c:{om=q[Ye>>2];rm=(q[Ye+4>>2]-om|0)/24|0;Yl=rm+1|0;if(Yl>>>0<178956971){om=(q[Ye+8>>2]-om|0)/24|0;sm=om<<1;om=om>>>0<89478485?sm>>>0>>0?Yl:sm:178956970;pm=0;d:{if(!om){break d}if(om>>>0>=178956971){break c}pm=Mm(w(om,24))}Yl=pm+w(rm,24)|0;ve(Yl,Zh);rm=pm+w(om,24)|0;sm=Yl+24|0;Zh=q[Ye+4>>2];pm=q[Ye>>2];if((Zh|0)==(pm|0)){break b}while(1){Yl=Yl+ -24|0;q[Yl>>2]=1232;om=q[Zh+ -20>>2];qm=Yl+16|0;q[qm>>2]=0;q[Yl+8>>2]=0;q[Yl+12>>2]=0;q[Yl+4>>2]=om;om=Zh+ -16|0;q[Yl+8>>2]=q[om>>2];q[Yl+12>>2]=q[Zh+ -12>>2];tm=qm;qm=Zh+ -8|0;q[tm>>2]=q[qm>>2];q[qm>>2]=0;q[om>>2]=0;q[om+4>>2]=0;q[Yl+20>>2]=q[Zh+ -4>>2];Zh=Zh+ -24|0;if((pm|0)!=(Zh|0)){continue}break}pm=q[Ye+4>>2];Zh=q[Ye>>2];break a}bn();F()}ab(1780);F()}Zh=pm}q[Ye>>2]=Yl;q[Ye+8>>2]=rm;q[Ye+4>>2]=sm;if((Zh|0)!=(pm|0)){while(1){pm=pm+ -24|0;n[q[q[pm>>2]>>2]](pm)|0;if((Zh|0)!=(pm|0)){continue}break}}if(Zh){An(Zh)}}function je(Ye,Zh,um){var vm=0,wm=0,xm=0,ym=0,zm=0,Am=0,Bm=0,Cm=0,Dm=0,Em=0;wm=T-32|0;T=wm;q[wm+24>>2]=0;q[wm+16>>2]=0;q[wm+20>>2]=0;zm=q[Zh+12>>2];xm=zm;ym=q[Zh+20>>2];Am=ym;Bm=q[Zh+16>>2];vm=Bm+4|0;if(vm>>>0<4){ym=ym+1|0}Dm=q[Zh+8>>2];Cm=vm;a:{if((xm|0)<(ym|0)?1:(xm|0)<=(ym|0)?Dm>>>0>=vm>>>0?0:1:0){break a}xm=q[Zh>>2];vm=Bm+xm|0;vm=r[vm|0]|r[vm+1|0]<<8|(r[vm+2|0]<<16|r[vm+3|0]<<24);q[Zh+16>>2]=Cm;q[Zh+20>>2]=ym;b:{c:{vm=vm+ -2|0;if(vm>>>0<=1){if(vm-1){break c}if((zm|0)<(ym|0)?1:(zm|0)<=(ym|0)?Dm>>>0>Cm>>>0?0:1:0){break a}xm=o[xm+Cm|0];vm=Bm+5|0;if(vm>>>0<5){Am=Am+1|0}q[Zh+16>>2]=vm;q[Zh+20>>2]=Am;q[Ye+8>>2]=xm;if((xm|0)==1){if(ol(Ye,Zh,wm+16|0)){break b}break a}Gl(1848,23,q[3794]);break a}Gl(1872,24,q[3794]);break a}if(!ol(Ye,Zh,wm+16|0)){break a}}q[wm+8>>2]=q[wm+16>>2];q[wm>>2]=q[wm+20>>2];ke(wm+8|0,wm,Ye,um);Em=1}Ye=q[wm+16>>2];if(Ye){q[wm+20>>2]=Ye;An(Ye)}T=wm+32|0;return Em}function ke(Ye,Zh,um,Fm){var Gm=0,Hm=0,Im=0,Jm=x(0),Km=0,Lm=0,Mm=0,Nm=0;Gm=T-32|0;T=Gm;Hm=q[um>>2];Jm=u[um+4>>2];Lm=hk(Gm+24|0);Hm=-1<>2];if((um|0)!=q[Zh>>2]){Ye=q[Fm+28>>2];Mm=Fm+16|0;while(1){Im=q[um>>2];Km=q[um+4>>2];Jm=u[Lm>>2];u[Gm+16>>2]=Jm*x(q[um+8>>2]-Hm|0);u[Gm+12>>2]=Jm*x(Km-Hm|0);u[Gm+8>>2]=Jm*x(Im-Hm|0);Km=q[Mm>>2];Im=q[Km>>2];if(!r[Im+84|0]){Ye=q[q[Im+68>>2]+(Ye<<2)>>2]}Nm=Ye;Ye=q[Im+40>>2];Cn(q[q[Im>>2]>>2]+w(Nm,Ye)|0,(Gm+8|0)+(q[Km+4>>2]<<2)|0,Ye);Ye=q[Fm+28>>2]+1|0;q[Fm+28>>2]=Ye;um=um+12|0;if((um|0)!=q[Zh>>2]){continue}break}}T=Gm+32|0}function le(Ye){Ye=Ye|0;var Zh=0,um=0,Fm=0,Om=0,Pm=0,Qm=0,Rm=0,Sm=0,Tm=0,Um=0,Vm=0,Wm=0,Xm=0,Ym=0,Zm=0,_m=0,$m=0,an=0,cn=0,dn=x(0);Om=T-32|0;T=Om;a:{b:{c:{if(!(q[Ye+60>>2]!=q[Ye- -64>>2]|q[Ye+48>>2]!=q[Ye+52>>2])){Zh=1;break c}Zh=1;if((n[q[q[Ye>>2]+24>>2]](Ye)|0)<1){break c}Zm=Ye+60|0;_m=Ye+36|0;d:{while(1){e:{Zh=n[q[q[Ye>>2]+20>>2]](Ye,Xm)|0;Qm=q[q[q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2]+8>>2]+(Zh<<2)>>2];Sm=Qm+28|0;Zh=q[Sm>>2]+ -1|0;f:{if(Zh>>>0>8){break f}g:{switch(Zh-1|0){default:Fm=Qm+24|0;Zh=o[Fm|0];um=0;q[Om+24>>2]=0;q[Om+16>>2]=0;q[Om+20>>2]=0;if(Zh){if((Zh|0)<=-1){break b}Zh=Zh<<2;um=Mm(Zh);q[Om+16>>2]=um;Pm=Zh+um|0;q[Om+24>>2]=Pm;Dn(um,0,Zh);q[Om+20>>2]=Pm;um=r[Fm|0]}q[Om+8>>2]=0;q[Om>>2]=0;q[Om+4>>2]=0;if(um&255){Zh=um<<24>>24;if((Zh|0)<=-1){break a}Zh=Zh<<2;um=Mm(Zh);q[Om>>2]=um;Pm=Zh+um|0;q[Om+8>>2]=Pm;Dn(um,0,Zh);q[Om+4>>2]=Pm}Zh=q[Sm>>2]+ -1|0;h:{i:{if(Zh>>>0>4){break i}j:{switch(Zh-1|0){case 3:Zh=1;if(me(Ye,Qm,Wm)){break i}break h;case 1:Zh=1;if(ne(Ye,Qm,Wm)){break i}break h;case 0:case 2:break i;default:break j}}Zh=1;if(!oe(Ye,Qm,Wm)){break h}}Wm=o[Fm|0]+Wm|0;Zh=0}Fm=q[Om>>2];if(Fm){q[Om+4>>2]=Fm;An(Fm)}Fm=q[Om+16>>2];if(Fm){q[Om+20>>2]=Fm;An(Fm)}if(!Zh){break f}break d;case 0:case 2:case 4:case 5:case 6:break f;case 7:break g}}Sm=q[q[Zm>>2]+(Rm<<2)>>2];Vm=q[_m>>2];Zh=n[q[q[Ye>>2]+28>>2]](Ye)|0;Pm=q[Qm+56>>2];Tm=q[Zh+40>>2];Zh=Mm(32);q[Om+16>>2]=Zh;q[Om+20>>2]=24;q[Om+24>>2]=-2147483616;o[Zh+24|0]=0;Fm=r[1726]|r[1727]<<8|(r[1728]<<16|r[1729]<<24);um=r[1722]|r[1723]<<8|(r[1724]<<16|r[1725]<<24);o[Zh+16|0]=um;o[Zh+17|0]=um>>>8;o[Zh+18|0]=um>>>16;o[Zh+19|0]=um>>>24;o[Zh+20|0]=Fm;o[Zh+21|0]=Fm>>>8;o[Zh+22|0]=Fm>>>16;o[Zh+23|0]=Fm>>>24;Fm=r[1718]|r[1719]<<8|(r[1720]<<16|r[1721]<<24);um=r[1714]|r[1715]<<8|(r[1716]<<16|r[1717]<<24);o[Zh+8|0]=um;o[Zh+9|0]=um>>>8;o[Zh+10|0]=um>>>16;o[Zh+11|0]=um>>>24;o[Zh+12|0]=Fm;o[Zh+13|0]=Fm>>>8;o[Zh+14|0]=Fm>>>16;o[Zh+15|0]=Fm>>>24;Fm=r[1710]|r[1711]<<8|(r[1712]<<16|r[1713]<<24);um=r[1706]|r[1707]<<8|(r[1708]<<16|r[1709]<<24);o[Zh|0]=um;o[Zh+1|0]=um>>>8;o[Zh+2|0]=um>>>16;o[Zh+3|0]=um>>>24;o[Zh+4|0]=Fm;o[Zh+5|0]=Fm>>>8;o[Zh+6|0]=Fm>>>16;o[Zh+7|0]=Fm>>>24;k:{l:{Fm=Tm+16|0;um=Fm;Zh=q[um>>2];if(!Zh){break l}while(1){Um=q[Zh+16>>2]<(Pm|0);um=Um?um:Zh;Zh=q[(Um<<2)+Zh>>2];if(Zh){continue}break}if((um|0)==(Fm|0)|(Pm|0)>2]){break l}Zh=um+20|0;if(!ga(Zh,Om+16|0)){break l}Zh=gk(Zh,Om+16|0);break k}Zh=gk(Tm,Om+16|0)}if(o[Om+27|0]<=-1){An(q[Om+16>>2])}Fm=Rm+1|0;m:{if(Zh){ud(Qm,Sm);break m}Zh=Vm+w(Rm,24)|0;um=q[Zh+4>>2];Rm=o[Qm+24|0];Vm=Rm<<2;Pm=Mm((Rm|0)!=(Rm&1073741823)?-1:Vm);if(!ik(hk(Om+16|0),u[Zh+20>>2],-1<>2]){$m=q[q[Sm>>2]>>2]+q[Sm+48>>2]|0;an=Zh+8|0;Um=0;Tm=0;um=0;while(1){if((Rm|0)>=1){cn=q[an>>2];Zh=0;dn=u[Om+16>>2];while(1){Ym=Zh<<2;u[Ym+Pm>>2]=x(dn*x(q[$m+(um<<2)>>2]))+u[cn+Ym>>2];um=um+1|0;Zh=Zh+1|0;if((Rm|0)!=(Zh|0)){continue}break}}Cn(q[q[Qm- -64>>2]>>2]+Tm|0,Pm,Vm);Tm=Tm+Vm|0;Um=Um+1|0;if(Um>>>0>2]){continue}break}}An(Pm)}Rm=Fm}Zh=1;Xm=Xm+1|0;if((Xm|0)<(n[q[q[Ye>>2]+24>>2]](Ye)|0)){continue}break c}break}An(Pm)}Zh=0}T=Om+32|0;return Zh|0}bn();F()}bn();F()}function me(Ye,en,fn){var gn=0,hn=0,jn=0,kn=0,ln=0,mn=0,nn=0,on=0,pn=0,qn=0,rn=0,sn=0,tn=0,un=0,vn=0;hn=T-16|0;T=hn;gn=o[en+24|0];q[hn+8>>2]=0;q[hn>>2]=0;q[hn+4>>2]=0;a:{b:{if(gn){if((gn|0)<=-1){break b}jn=gn<<2;kn=Mm(jn);q[hn>>2]=kn;ln=jn+kn|0;q[hn+8>>2]=ln;Dn(kn,0,jn);q[hn+4>>2]=ln;pn=Mm(jn);jn=Dn(pn,0,jn)}else{jn=0}if(!q[en+80>>2]){break a}sn=en+40|0;un=en+48|0;vn=Ye+48|0;while(1){tn=q[en>>2];mn=q[tn>>2];qn=q[un>>2];Ye=q[sn>>2];ln=$n(Ye,q[sn+4>>2],rn,nn);on=mn;mn=ln+qn|0;ln=Cn(kn,on+mn|0,Ye);if(gn<<24>>24>=1){mn=gn&255;qn=q[vn>>2];gn=0;while(1){on=gn<<2;q[on+jn>>2]=q[(fn+gn<<2)+qn>>2]+q[ln+on>>2];gn=gn+1|0;if(gn>>>0>>0){continue}break}}Cn(q[tn>>2]+w(Ye,rn)|0,pn,Ye);Ye=rn+1|0;if(Ye>>>0<1){nn=nn+1|0}rn=Ye;if(!nn&Ye>>>0>=t[en+80>>2]|nn>>>0>0){break a}gn=r[en+24|0];continue}}bn();F()}if(jn){An(pn)}if(kn){q[hn+4>>2]=kn;An(kn)}T=hn+16|0;return 1}function ne(Ye,en,fn){var wn=0,xn=0,yn=0,zn=0,Bn=0,En=0,Fn=0,Gn=0,Hn=0,In=0,Jn=0,Kn=0,Ln=0,Mn=0,Nn=0;xn=T-16|0;T=xn;wn=o[en+24|0];q[xn+8>>2]=0;q[xn>>2]=0;q[xn+4>>2]=0;a:{b:{if(wn){if((wn|0)<=-1){break b}yn=wn<<1;zn=Mm(yn);q[xn>>2]=zn;Bn=yn+zn|0;q[xn+8>>2]=Bn;Dn(zn,0,yn);q[xn+4>>2]=Bn;Hn=Mm(yn);yn=Dn(Hn,0,yn)}else{yn=0}if(!q[en+80>>2]){break a}Kn=en+40|0;Mn=en+48|0;Nn=Ye+48|0;while(1){Ln=q[en>>2];En=q[Ln>>2];In=q[Mn>>2];Ye=q[Kn>>2];Bn=$n(Ye,q[Kn+4>>2],Jn,Fn);Gn=En;En=Bn+In|0;Bn=Cn(zn,Gn+En|0,Ye);if(wn<<24>>24>=1){En=wn&255;In=q[Nn>>2];wn=0;while(1){Gn=wn<<1;p[Gn+yn>>1]=s[Bn+Gn>>1]+s[(fn+wn<<2)+In>>1];wn=wn+1|0;if(wn>>>0>>0){continue}break}}Cn(q[Ln>>2]+w(Ye,Jn)|0,Hn,Ye);Ye=Jn+1|0;if(Ye>>>0<1){Fn=Fn+1|0}Jn=Ye;if(!Fn&Ye>>>0>=t[en+80>>2]|Fn>>>0>0){break a}wn=r[en+24|0];continue}}bn();F()}if(yn){An(Hn)}if(zn){q[xn+4>>2]=zn;An(zn)}T=xn+16|0;return 1}function oe(Ye,en,fn){var Dn=0,On=0,Pn=0,Qn=0,Rn=0,Sn=0,Tn=0,Un=0,Vn=0,Wn=0;On=T-32|0;T=On;Dn=o[en+24|0];q[On+24>>2]=0;q[On+16>>2]=0;q[On+20>>2]=0;a:{b:{c:{if(Dn){if((Dn|0)<=-1){break c}Pn=Mm(Dn);q[On+16>>2]=Pn;q[On+20>>2]=Pn;q[On+24>>2]=Dn+Pn;while(1){o[Pn|0]=0;Pn=q[On+20>>2]+1|0;q[On+20>>2]=Pn;Dn=Dn+ -1|0;if(Dn){continue}break}Pn=r[en+24|0]}q[On+8>>2]=0;q[On>>2]=0;q[On+4>>2]=0;if(Pn&255){if(Pn<<24>>24<=-1){break b}Pn=Pn<<24>>24;Dn=Mm(Pn);q[On>>2]=Dn;q[On+4>>2]=Dn;q[On+8>>2]=Dn+Pn;while(1){o[Dn|0]=0;Dn=q[On+4>>2]+1|0;q[On+4>>2]=Dn;Pn=Pn+ -1|0;if(Pn){continue}break}}if(!q[en+80>>2]){Dn=q[On>>2];break a}Pn=en+40|0;Un=en+48|0;Tn=en+24|0;while(1){Vn=q[On+16>>2];Wn=q[q[en>>2]>>2];Dn=q[Pn>>2];Qn=q[Un>>2]+$n(Dn,q[Pn+4>>2],Rn,Sn)|0;Dn=Cn(Vn,Wn+Qn|0,Dn);d:{if(o[Tn|0]<1){break d}Qn=Ye+48|0;o[q[On>>2]]=r[Dn|0]+r[q[Qn>>2]+(fn<<2)|0];Dn=1;if(o[Tn|0]<2){break d}while(1){o[q[On>>2]+Dn|0]=r[q[On+16>>2]+Dn|0]+r[q[Qn>>2]+(fn+Dn<<2)|0];Dn=Dn+1|0;if((Dn|0)>2];Dn=q[On>>2];Cn(q[q[en>>2]>>2]+w(Qn,Rn)|0,Dn,Qn);Rn=Rn+1|0;if(Rn>>>0<1){Sn=Sn+1|0}Qn=Rn;if(!Sn&Qn>>>0>2]|Sn>>>0<0){continue}break}break a}bn();F()}bn();F()}if(Dn){q[On+4>>2]=Dn;An(Dn)}Ye=q[On+16>>2];if(Ye){q[On+20>>2]=Ye;An(Ye)}T=On+32|0;return 1}function pe(Ye){Ye=Ye|0;var bn=0,en=0,fn=0,Cn=0;q[Ye>>2]=1596;bn=q[Ye+60>>2];if(bn){Cn=Ye- -64|0;en=q[Cn>>2];fn=bn;a:{if((bn|0)==(en|0)){break a}while(1){en=en+ -4|0;fn=q[en>>2];q[en>>2]=0;if(fn){Hb(fn)}if((bn|0)!=(en|0)){continue}break}fn=q[Ye+60>>2]}q[Cn>>2]=bn;An(fn)}bn=q[Ye+48>>2];if(bn){q[Ye+52>>2]=bn;An(bn)}bn=q[Ye+36>>2];if(bn){Cn=Ye+40|0;en=q[Cn>>2];fn=bn;b:{if((bn|0)==(en|0)){break b}while(1){en=en+ -24|0;n[q[q[en>>2]>>2]](en)|0;if((bn|0)!=(en|0)){continue}break}fn=q[Ye+36>>2]}q[Cn>>2]=bn;An(fn)}q[Ye>>2]=1384;bn=q[Ye+16>>2];if(bn){q[Ye+20>>2]=bn;An(bn)}bn=q[Ye+4>>2];if(bn){q[Ye+8>>2]=bn;An(bn)}return Ye|0}function qe(q){q=q|0;An(pe(q))}function re(Ye){var Xn=0,Yn=0,Zn=0,_n=0,$n=0,ao=0,bo=0,co=0,eo=0,fo=0,go=0,ho=0;ao=T-32|0;T=ao;a:{b:{Xn=Ye+16|0;Yn=q[Xn>>2];if(Yn>>>0>=341){q[Xn>>2]=Yn+ -341;Xn=Ye+4|0;Yn=q[Xn>>2];eo=q[Yn>>2];Yn=Yn+4|0;q[Xn>>2]=Yn;co=Ye+8|0;Zn=q[co>>2];Xn=q[Ye+12>>2];c:{if((Zn|0)!=(Xn|0)){break c}_n=q[Ye>>2];if(Yn>>>0>_n>>>0){Zn=Zn-Yn|0;bo=Zn>>2;_n=((Yn-_n>>2)+1|0)/-2<<2;$n=_n+Yn|0;Xn=Ye;if(Zn){En($n,Yn,Zn);Yn=q[Ye+4>>2]}q[Xn+4>>2]=Yn+_n;Zn=$n+(bo<<2)|0;q[Ye+8>>2]=Zn;break c}Xn=Xn-_n|0;Xn=Xn?Xn>>1:1;if(Xn>>>0>=1073741824){break b}$n=Xn<<2;bo=Mm($n);fo=$n+bo|0;$n=bo+(Xn&-4)|0;Xn=$n;if((Yn|0)!=(Zn|0)){Xn=$n;while(1){q[Xn>>2]=q[Yn>>2];Xn=Xn+4|0;Yn=Yn+4|0;if((Zn|0)!=(Yn|0)){continue}break}_n=q[Ye>>2]}q[Ye>>2]=bo;q[Ye+12>>2]=fo;Yn=Ye+8|0;q[Yn>>2]=Xn;q[Ye+4>>2]=$n;if(!_n){Zn=Xn;break c}An(_n);Zn=q[Yn>>2]}q[Zn>>2]=eo;q[co>>2]=q[co>>2]+4;break a}d:{Yn=q[Ye+8>>2];Zn=Yn-q[Ye+4>>2]>>2;$n=Ye+12|0;_n=q[$n>>2];Xn=_n-q[Ye>>2]|0;if(Zn>>>0>2>>>0){if((Yn|0)!=(_n|0)){go=ao,ho=Mm(4092),q[go+8>>2]=ho;te(Ye,ao+8|0);break a}go=ao,ho=Mm(4092),q[go+8>>2]=ho;ue(Ye,ao+8|0);Xn=Ye+4|0;Yn=q[Xn>>2];eo=q[Yn>>2];Yn=Yn+4|0;q[Xn>>2]=Yn;co=Ye+8|0;Zn=q[co>>2];Xn=q[Ye+12>>2];e:{if((Zn|0)!=(Xn|0)){break e}_n=q[Ye>>2];if(Yn>>>0>_n>>>0){Zn=Zn-Yn|0;bo=Zn>>2;_n=((Yn-_n>>2)+1|0)/-2<<2;$n=_n+Yn|0;Xn=Ye;if(Zn){En($n,Yn,Zn);Yn=q[Ye+4>>2]}q[Xn+4>>2]=Yn+_n;Zn=$n+(bo<<2)|0;q[Ye+8>>2]=Zn;break e}Xn=Xn-_n|0;Xn=Xn?Xn>>1:1;if(Xn>>>0>=1073741824){break d}$n=Xn<<2;bo=Mm($n);fo=$n+bo|0;$n=bo+(Xn&-4)|0;Xn=$n;if((Yn|0)!=(Zn|0)){Xn=$n;while(1){q[Xn>>2]=q[Yn>>2];Xn=Xn+4|0;Yn=Yn+4|0;if((Zn|0)!=(Yn|0)){continue}break}_n=q[Ye>>2]}q[Ye>>2]=bo;q[Ye+12>>2]=fo;Yn=Ye+8|0;q[Yn>>2]=Xn;q[Ye+4>>2]=$n;if(!_n){Zn=Xn;break e}An(_n);Zn=q[Yn>>2]}q[Zn>>2]=eo;q[co>>2]=q[co>>2]+4;break a}q[ao+24>>2]=$n;q[ao+20>>2]=0;Xn=Xn?Xn>>1:1;if(Xn>>>0<1073741824){Yn=Xn<<2;Xn=Mm(Yn);q[ao+8>>2]=Xn;Zn=Xn+(Zn<<2)|0;q[ao+16>>2]=Zn;q[ao+20>>2]=Xn+Yn;q[ao+12>>2]=Zn;go=ao,ho=Mm(4092),q[go+4>>2]=ho;te(ao+8|0,ao+4|0);Yn=q[Ye+8>>2];Xn=Ye+4|0;while(1){$n=q[Xn>>2];if(($n|0)==(Yn|0)){Zn=q[Ye>>2];q[Ye>>2]=q[ao+8>>2];q[ao+8>>2]=Zn;q[Ye+4>>2]=q[ao+12>>2];q[ao+12>>2]=$n;_n=Ye+8|0;Xn=q[_n>>2];q[_n>>2]=q[ao+16>>2];q[ao+16>>2]=Xn;Ye=Ye+12|0;_n=q[Ye>>2];q[Ye>>2]=q[ao+20>>2];q[ao+20>>2]=_n;if((Xn|0)!=(Yn|0)){q[ao+16>>2]=Xn+(((Xn-$n|0)+ -4>>>2^-1)<<2)}if(!Zn){break a}An(Zn);break a}else{Yn=Yn+ -4|0;ue(ao+8|0,Yn);continue}}}ab(1780);F()}ab(1780);F()}ab(1780);F()}T=ao+32|0}function se(Ye){var io=0,jo=0,ko=0,lo=0,mo=0,no=0,oo=0;jo=q[Ye+16>>2];io=(jo>>>0)/341|0;ko=q[Ye+4>>2];no=q[Ye+8>>2];a:{if((ko|0)==(no|0)){mo=Ye+20|0;break a}lo=(io<<2)+ko|0;io=q[lo>>2]+w(jo-w(io,341)|0,12)|0;mo=Ye+20|0;jo=jo+q[mo>>2]|0;oo=(jo>>>0)/341|0;jo=q[(oo<<2)+ko>>2]+w(jo-w(oo,341)|0,12)|0;if((io|0)==(jo|0)){break a}while(1){io=io+12|0;if((io-q[lo>>2]|0)==4092){io=q[lo+4>>2];lo=lo+4|0}if((io|0)!=(jo|0)){continue}break}}q[mo>>2]=0;io=no-ko>>2;if(io>>>0>2){while(1){An(q[ko>>2]);ko=q[Ye+4>>2]+4|0;q[Ye+4>>2]=ko;io=q[Ye+8>>2]-ko>>2;if(io>>>0>2){continue}break}}io=io+ -1|0;if(io>>>0<=1){q[Ye+16>>2]=io-1|0?170:341}}function te(Ye,po){var qo=0,ro=0,so=0,to=0,uo=0,vo=0,wo=0;a:{so=q[Ye+8>>2];qo=q[Ye+12>>2];b:{if((so|0)!=(qo|0)){qo=so;break b}ro=q[Ye+4>>2];to=q[Ye>>2];if(ro>>>0>to>>>0){so=so-ro|0;vo=so>>2;to=((ro-to>>2)+1|0)/-2<<2;uo=to+ro|0;qo=Ye;if(so){En(uo,ro,so);ro=q[Ye+4>>2]}q[qo+4>>2]=ro+to;qo=uo+(vo<<2)|0;q[Ye+8>>2]=qo;break b}qo=qo-to|0;qo=qo?qo>>1:1;if(qo>>>0>=1073741824){break a}uo=qo<<2;vo=Mm(uo);wo=uo+vo|0;uo=vo+(qo&-4)|0;qo=uo;if((ro|0)!=(so|0)){qo=uo;while(1){q[qo>>2]=q[ro>>2];qo=qo+4|0;ro=ro+4|0;if((so|0)!=(ro|0)){continue}break}to=q[Ye>>2]}q[Ye+8>>2]=qo;q[Ye+4>>2]=uo;q[Ye>>2]=vo;q[Ye+12>>2]=wo;if(!to){break b}An(to);qo=q[Ye+8>>2]}q[qo>>2]=q[po>>2];q[Ye+8>>2]=q[Ye+8>>2]+4;return}ab(1780);F()}function ue(Ye,po){var xo=0,yo=0,zo=0,Ao=0,Bo=0,Co=0;a:{zo=q[Ye+4>>2];yo=q[Ye>>2];b:{if((zo|0)!=(yo|0)){xo=zo;break b}Ao=q[Ye+8>>2];xo=q[Ye+12>>2];if(Ao>>>0>>0){Bo=((xo-Ao>>2)+1|0)/2<<2;xo=Bo+Ao|0;yo=Ao-zo|0;if(yo){xo=xo-yo|0;En(xo,zo,yo);Ao=q[Ye+8>>2]}q[Ye+4>>2]=xo;q[Ye+8>>2]=Ao+Bo;break b}xo=xo-yo|0;xo=xo?xo>>1:1;if(xo>>>0>=1073741824){break a}yo=xo<<2;Bo=Mm(yo);Co=yo+Bo|0;xo=Bo+(xo+3&-4)|0;c:{if((zo|0)==(Ao|0)){yo=xo;break c}yo=xo;while(1){q[yo>>2]=q[zo>>2];yo=yo+4|0;zo=zo+4|0;if((Ao|0)!=(zo|0)){continue}break}zo=q[Ye>>2]}q[Ye+8>>2]=yo;q[Ye+4>>2]=xo;q[Ye>>2]=Bo;q[Ye+12>>2]=Co;if(!zo){break b}An(zo);xo=q[Ye+4>>2]}q[xo+ -4>>2]=q[po>>2];q[Ye+4>>2]=q[Ye+4>>2]+ -4;return}ab(1780);F()}function ve(Ye,An){var po=0,Do=0,Eo=0,Fo=0,Go=0,Ho=0;q[Ye>>2]=1232;po=q[An+4>>2];q[Ye+16>>2]=0;q[Ye+8>>2]=0;q[Ye+12>>2]=0;q[Ye+4>>2]=po;a:{po=q[An+12>>2]-q[An+8>>2]|0;b:{if(!po){break b}Do=po>>2;if(Do>>>0>=1073741824){break a}po=Mm(po);q[Ye+8>>2]=po;Eo=Ye+12|0;q[Eo>>2]=po;q[Ye+16>>2]=po+(Do<<2);Fo=q[An+8>>2];Do=q[An+12>>2]-Fo|0;if((Do|0)<1){break b}Go=Eo,Ho=Cn(po,Fo,Do)+Do|0,q[Go>>2]=Ho}q[Ye+20>>2]=q[An+20>>2];return}bn();F()}function we(Ye){q[Ye+12>>2]=-1;q[Ye+16>>2]=0;q[Ye+4>>2]=0;q[Ye+8>>2]=0;q[Ye>>2]=1908}function xe(Ye,An,Io){Ye=Ye|0;An=An|0;Io=Io|0;q[Ye+4>>2]=An;An=q[q[q[An+4>>2]+8>>2]+(Io<<2)>>2];q[Ye+12>>2]=Io;q[Ye+8>>2]=An;return 1}function ye(Ye,An){Ye=Ye|0;An=An|0;q[Ye+12>>2]=-1;q[Ye+8>>2]=An;return 1}function ze(Ye,An,Io){Ye=Ye|0;An=An|0;Io=Io|0;var Jo=0,Ko=0;Jo=q[Ye+8>>2];a:{if(o[Jo+24|0]<1){break a}if(!td(Jo,q[An+4>>2]-q[An>>2]>>2)){break a}Ko=n[q[q[Ye>>2]+32>>2]](Ye,An,Io)|0}return Ko|0}function Ae(q,Ye,An){q=q|0;Ye=Ye|0;An=An|0;return 1}function Be(Ye){var An=0,Io=0,Lo=0,Mo=0,No=0,Oo=0,Po=0,Qo=0;a:{Lo=q[Ye+8>>2];if(r[Lo+84|0]){break a}An=q[Ye+16>>2];if(!An|!r[An+84|0]){break a}Io=q[Lo+72>>2];Mo=q[Lo+68>>2];o[An+84|0]=0;Io=Io-Mo>>2;No=q[An+68>>2];Mo=q[An+72>>2]-No>>2;b:{if(Io>>>0>Mo>>>0){md(An+68|0,Io-Mo|0,1992);Lo=q[Ye+8>>2];break b}if(Io>>>0>=Mo>>>0){break b}q[An+72>>2]=No+(Io<<2)}An=0;Mo=r[Lo+84|0];Oo=Lo+72|0;Po=Ye+16|0;Qo=Lo+68|0;while(1){if(An>>>0>=(Mo?0:q[Oo>>2]-q[Lo+68>>2]>>2)>>>0){break a}Io=An;No=q[q[Po>>2]+68>>2]+(An<<2)|0;if(!Mo){Io=q[q[Qo>>2]+(An<<2)>>2]}q[No>>2]=Io;An=An+1|0;continue}}return q[Ye+16>>2]}function Ce(Ye,Ro){Ye=Ye|0;Ro=Ro|0;var So=0,To=0,Uo=0;if((n[q[q[Ro>>2]+20>>2]](Ro)|0)>=1){while(1){So=bl(q[q[Ye+4>>2]+4>>2],n[q[q[Ro>>2]+24>>2]](Ro,To)|0);if((So|0)==-1){return 0}a:{Uo=q[Ye+4>>2];if(r[Uo+36|0]<=1){if(n[q[q[Ro>>2]+28>>2]](Ro,q[q[q[Uo+4>>2]+8>>2]+(So<<2)>>2])){break a}return 0}So=Pj(Uo,So);if(!So){return 0}if(n[q[q[Ro>>2]+28>>2]](Ro,So)){break a}return 0}To=To+1|0;if((To|0)<(n[q[q[Ro>>2]+20>>2]](Ro)|0)){continue}break}}return 1}function De(Ye,Ro,Vo){Ye=Ye|0;Ro=Ro|0;Vo=Vo|0;var Wo=0,Xo=0,Yo=0,Zo=0,_o=0,$o=0,ap=0,bp=0,cp=0,dp=0,ep=0;Wo=q[Ro+4>>2];Xo=q[Ro>>2];Ro=q[q[Ye+8>>2]+40>>2];Yo=Ro;Zo=Mm((Ro|0)>-1?Ro:-1);Wo=Wo-Xo|0;if((Wo|0)>=1){dp=Wo>>2;while(1){$o=q[Vo+12>>2];Wo=ep+q[Vo+20>>2]|0;ap=q[Vo+16>>2];_o=Ro+ap|0;if(_o>>>0>>0){Wo=Wo+1|0}Xo=Wo;if(($o|0)<(Wo|0)?1:($o|0)<=(Wo|0)?t[Vo+8>>2]>=_o>>>0?0:1:0){An(Zo);return 0}Wo=Cn(Zo,ap+q[Vo>>2]|0,Yo);q[Vo+16>>2]=_o;q[Vo+20>>2]=Xo;Cn(q[q[q[Ye+8>>2]- -64>>2]>>2]+bp|0,Wo,Yo);bp=Yo+bp|0;cp=cp+1|0;if((cp|0)<(dp|0)){continue}break}}An(Zo);return 1}function Ee(Ye){Ye=Ye|0;var Ro=0;q[Ye>>2]=1908;Ro=q[Ye+16>>2];q[Ye+16>>2]=0;if(Ro){Hb(Ro)}return Ye|0}function Fe(Ye){Ye=Ye|0;var Vo=0;q[Ye>>2]=1908;Vo=q[Ye+16>>2];q[Ye+16>>2]=0;if(Vo){Hb(Vo)}An(Ye)}function Ge(Ye,fp){var gp=0;wd(Ye);q[Ye+36>>2]=0;q[Ye+40>>2]=0;q[Ye>>2]=2004;q[Ye+44>>2]=0;q[Ye+48>>2]=0;q[Ye+52>>2]=0;q[Ye+56>>2]=0;gp=q[fp>>2];q[fp>>2]=0;q[Ye+60>>2]=gp}function He(Ye,fp){Ye=Ye|0;fp=fp|0;var hp=0,ip=0,jp=0,kp=0,lp=0,mp=0,np=0,op=0,pp=0,qp=0,rp=0,sp=0,tp=0;lp=T-16|0;T=lp;a:{if(!yd(Ye,fp)){break a}pp=Ye+36|0;mp=n[q[q[Ye>>2]+24>>2]](Ye)|0;jp=q[Ye+40>>2];ip=q[Ye+36>>2];hp=jp-ip>>2;b:{if(mp>>>0>hp>>>0){Ie(pp,mp-hp|0);break b}if(mp>>>0>=hp>>>0){break b}ip=ip+(mp<<2)|0;if((ip|0)!=(jp|0)){while(1){jp=jp+ -4|0;hp=q[jp>>2];q[jp>>2]=0;if(hp){n[q[q[hp>>2]+4>>2]](hp)}if((jp|0)!=(ip|0)){continue}break}}q[Ye+40>>2]=ip}op=1;if((mp|0)<1){break a}op=0;jp=0;while(1){kp=q[fp+16>>2];ip=q[fp+12>>2];hp=q[fp+20>>2];if((ip|0)<(hp|0)?1:(ip|0)<=(hp|0)?t[fp+8>>2]>kp>>>0?0:1:0){break a}np=r[kp+q[fp>>2]|0];kp=kp+1|0;if(kp>>>0<1){hp=hp+1|0}ip=fp;q[ip+16>>2]=kp;q[ip+20>>2]=hp;n[q[q[Ye>>2]+48>>2]](lp+8|0,Ye,np);hp=q[Ye+36>>2];ip=q[lp+8>>2];q[lp+8>>2]=0;kp=jp<<2;np=hp+kp|0;hp=q[np>>2];q[np>>2]=ip;if(hp){n[q[q[hp>>2]+4>>2]](hp)}hp=q[lp+8>>2];q[lp+8>>2]=0;if(hp){n[q[q[hp>>2]+4>>2]](hp)}hp=q[q[pp>>2]+kp>>2];if(!hp){break a}if(!(rp=hp,sp=n[q[q[Ye>>2]+28>>2]](Ye)|0,tp=n[q[q[Ye>>2]+20>>2]](Ye,jp)|0,qp=q[q[hp>>2]+8>>2],n[qp](rp|0,sp|0,tp|0)|0)){break a}jp=jp+1|0;if((mp|0)!=(jp|0)){continue}break}op=1}T=lp+16|0;return op|0}function Ie(Ye,fp){var up=0,vp=0,wp=0,xp=0,yp=0,zp=0,Ap=0,Bp=0,Cp=0;vp=q[Ye+8>>2];wp=Ye+4|0;up=q[wp>>2];if(vp-up>>2>>>0>=fp>>>0){Ye=fp<<2;Bp=wp,Cp=Dn(up,0,Ye)+Ye|0,q[Bp>>2]=Cp;return}a:{wp=q[Ye>>2];xp=up-wp>>2;yp=xp+fp|0;if(yp>>>0<1073741824){xp=xp<<2;vp=vp-wp|0;Ap=vp>>1;vp=vp>>2>>>0<536870911?Ap>>>0>>0?yp:Ap:1073741823;if(vp){if(vp>>>0>=1073741824){break a}zp=Mm(vp<<2)}xp=xp+zp|0;Dn(xp,0,fp<<2);fp=(yp<<2)+zp|0;yp=(vp<<2)+zp|0;if((up|0)!=(wp|0)){while(1){up=up+ -4|0;vp=q[up>>2];q[up>>2]=0;xp=xp+ -4|0;q[xp>>2]=vp;if((up|0)!=(wp|0)){continue}break}wp=q[Ye>>2];up=q[Ye+4>>2]}q[Ye>>2]=xp;q[Ye+8>>2]=yp;q[Ye+4>>2]=fp;if((up|0)!=(wp|0)){while(1){up=up+ -4|0;Ye=q[up>>2];q[up>>2]=0;if(Ye){n[q[q[Ye>>2]+4>>2]](Ye)}if((up|0)!=(wp|0)){continue}break}}if(wp){An(wp)}return}bn();F()}ab(2144);F()}function Je(Ye,fp){Ye=Ye|0;fp=fp|0;var Dp=0,Ep=0,Fp=0,Gp=0,Hp=0,Ip=0,Jp=0;Dp=q[Ye+60>>2];a:{if(!Dp){break a}q[Dp+4>>2]=Ye+48;if(!n[q[q[Dp>>2]+12>>2]](Dp)){break a}b:{Ep=n[q[q[Ye>>2]+24>>2]](Ye)|0;if((Ep|0)<1){break b}Gp=Ye+60|0;Dp=0;while(1){c:{Hp=q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+4>>2];Ip=n[q[q[Ye>>2]+20>>2]](Ye,Dp)|0;Fp=q[Gp>>2];if(!n[q[q[Fp>>2]+8>>2]](Fp,q[q[Hp+8>>2]+(Ip<<2)>>2])){break c}Dp=Dp+1|0;if((Ep|0)!=(Dp|0)){continue}break b}break}return 0}if(!n[q[q[Ye>>2]+36>>2]](Ye,fp)){break a}if(!n[q[q[Ye>>2]+40>>2]](Ye,fp)){break a}Jp=n[q[q[Ye>>2]+44>>2]](Ye)|0}return Jp|0}function Ke(Ye,fp){Ye=Ye|0;fp=fp|0;var Kp=0,Lp=0,Mp=0,Np=0,Op=0;Kp=1;Lp=n[q[q[Ye>>2]+24>>2]](Ye)|0;a:{if((Lp|0)<1){break a}Np=Ye+48|0;Kp=0;Op=Ye+36|0;Ye=0;while(1){Mp=q[q[Op>>2]+(Ye<<2)>>2];if(!n[q[q[Mp>>2]+16>>2]](Mp,Np,fp)){break a}Ye=Ye+1|0;if((Lp|0)!=(Ye|0)){continue}break}Kp=1}return Kp|0}function Le(Ye,fp){Ye=Ye|0;fp=fp|0;var Pp=0,Qp=0,Rp=0,Sp=0,Tp=0;Pp=1;Qp=n[q[q[Ye>>2]+24>>2]](Ye)|0;a:{if((Qp|0)<1){break a}Sp=Ye+48|0;Pp=0;Tp=Ye+36|0;Ye=0;while(1){Rp=q[q[Tp>>2]+(Ye<<2)>>2];if(!n[q[q[Rp>>2]+20>>2]](Rp,Sp,fp)){break a}Ye=Ye+1|0;if((Qp|0)!=(Ye|0)){continue}break}Pp=1}return Pp|0}function Me(Ye){Ye=Ye|0;var fp=0,Up=0,Vp=0,Wp=0,Xp=0,Yp=0,Zp=0,_p=0,$p=0,aq=0,bq=0,cq=0,dq=0;Wp=T-16|0;T=Wp;fp=1;Zp=n[q[q[Ye>>2]+24>>2]](Ye)|0;a:{if((Zp|0)<1){break a}dq=Ye+48|0;Yp=Ye+36|0;while(1){b:{c:{if(!q[(n[q[q[Ye>>2]+28>>2]](Ye)|0)+40>>2]){break c}_p=Xp<<2;fp=q[_p+q[Yp>>2]>>2];Up=q[fp+8>>2];$p=Be(fp);if(!$p){break c}fp=n[q[q[Ye>>2]+28>>2]](Ye)|0;aq=q[Up+56>>2];bq=q[fp+40>>2];fp=Mm(32);q[Wp>>2]=fp;q[Wp+4>>2]=24;q[Wp+8>>2]=-2147483616;o[fp+24|0]=0;Up=r[2076]|r[2077]<<8|(r[2078]<<16|r[2079]<<24);Vp=r[2072]|r[2073]<<8|(r[2074]<<16|r[2075]<<24);o[fp+16|0]=Vp;o[fp+17|0]=Vp>>>8;o[fp+18|0]=Vp>>>16;o[fp+19|0]=Vp>>>24;o[fp+20|0]=Up;o[fp+21|0]=Up>>>8;o[fp+22|0]=Up>>>16;o[fp+23|0]=Up>>>24;Up=r[2068]|r[2069]<<8|(r[2070]<<16|r[2071]<<24);Vp=r[2064]|r[2065]<<8|(r[2066]<<16|r[2067]<<24);o[fp+8|0]=Vp;o[fp+9|0]=Vp>>>8;o[fp+10|0]=Vp>>>16;o[fp+11|0]=Vp>>>24;o[fp+12|0]=Up;o[fp+13|0]=Up>>>8;o[fp+14|0]=Up>>>16;o[fp+15|0]=Up>>>24;Up=r[2060]|r[2061]<<8|(r[2062]<<16|r[2063]<<24);Vp=r[2056]|r[2057]<<8|(r[2058]<<16|r[2059]<<24);o[fp|0]=Vp;o[fp+1|0]=Vp>>>8;o[fp+2|0]=Vp>>>16;o[fp+3|0]=Vp>>>24;o[fp+4|0]=Up;o[fp+5|0]=Up>>>8;o[fp+6|0]=Up>>>16;o[fp+7|0]=Up>>>24;d:{e:{Vp=bq+16|0;Up=Vp;fp=q[Up>>2];if(!fp){break e}while(1){cq=q[fp+16>>2]<(aq|0);Up=cq?Up:fp;fp=q[(cq<<2)+fp>>2];if(fp){continue}break}if((Up|0)==(Vp|0)|(aq|0)>2]){break e}fp=Up+20|0;if(!ga(fp,Wp)){break e}fp=gk(fp,Wp);break d}fp=gk(bq,Wp)}if(o[Wp+11|0]<=-1){An(q[Wp>>2])}if(!fp){break c}ud(q[q[q[Yp>>2]+_p>>2]+8>>2],$p);break b}fp=q[q[Yp>>2]+(Xp<<2)>>2];if(n[q[q[fp>>2]+24>>2]](fp,dq)){break b}fp=0;break a}fp=1;Xp=Xp+1|0;if((Zp|0)!=(Xp|0)){continue}break}}T=Wp+16|0;return fp|0}function Ne(Ye,eq,fq){Ye=Ye|0;eq=eq|0;fq=fq|0;if(fq>>>0>3){q[Ye>>2]=0;return}a:{b:{switch(fq-1|0){default:eq=Mm(20);we(eq);break a;case 0:eq=Mm(24);Re(eq);break a;case 1:eq=Mm(36);Re(eq);q[eq+32>>2]=0;q[eq+24>>2]=-1;q[eq+28>>2]=0;q[eq>>2]=10764;break a;case 2:break b}}eq=Mm(28);Re(eq);q[eq+24>>2]=-1;q[eq>>2]=6744;q[Ye>>2]=eq;return}q[Ye>>2]=eq}function Oe(Ye){Ye=Ye|0;var eq=0,fq=0,gq=0,hq=0,iq=0;q[Ye>>2]=2004;eq=Ye+60|0;fq=q[eq>>2];q[eq>>2]=0;if(fq){n[q[q[fq>>2]+4>>2]](fq)}eq=q[Ye+48>>2];if(eq){q[Ye+52>>2]=eq;An(eq)}fq=q[Ye+36>>2];if(fq){eq=fq;iq=Ye+40|0;gq=q[iq>>2];hq=eq;a:{if((eq|0)==(gq|0)){break a}while(1){gq=gq+ -4|0;eq=q[gq>>2];q[gq>>2]=0;if(eq){n[q[q[eq>>2]+4>>2]](eq)}if((fq|0)!=(gq|0)){continue}break}hq=q[Ye+36>>2]}eq=hq;q[iq>>2]=fq;An(eq)}q[Ye>>2]=1384;eq=q[Ye+16>>2];if(eq){q[Ye+20>>2]=eq;An(eq)}eq=q[Ye+4>>2];if(eq){q[Ye+8>>2]=eq;An(eq)}return Ye|0}function Pe(Ye){Ye=Ye|0;var jq=0,kq=0,lq=0,mq=0,nq=0;q[Ye>>2]=2004;jq=Ye+60|0;kq=q[jq>>2];q[jq>>2]=0;if(kq){n[q[q[kq>>2]+4>>2]](kq)}jq=q[Ye+48>>2];if(jq){q[Ye+52>>2]=jq;An(jq)}kq=q[Ye+36>>2];if(kq){jq=kq;nq=Ye+40|0;lq=q[nq>>2];mq=jq;a:{if((jq|0)==(lq|0)){break a}while(1){lq=lq+ -4|0;jq=q[lq>>2];q[lq>>2]=0;if(jq){n[q[q[jq>>2]+4>>2]](jq)}if((kq|0)!=(lq|0)){continue}break}mq=q[Ye+36>>2]}jq=mq;q[nq>>2]=kq;An(jq)}q[Ye>>2]=1384;jq=q[Ye+16>>2];if(jq){q[Ye+20>>2]=jq;An(jq)}jq=q[Ye+4>>2];if(jq){q[Ye+8>>2]=jq;An(jq)}An(Ye)}function Qe(Ye,oq){Ye=Ye|0;oq=oq|0;var pq=0,qq=0;qq=q[Ye+16>>2];pq=0;a:{if(q[Ye+20>>2]-qq>>2<=(oq|0)){break a}oq=q[(oq<<2)+qq>>2];pq=0;if((oq|0)<0){break a}pq=Be(q[q[Ye+36>>2]+(oq<<2)>>2])}return pq|0}function Re(Ye){we(Ye);q[Ye+20>>2]=0;q[Ye>>2]=2220}function Se(q,Ye,oq){q=q|0;Ye=Ye|0;oq=oq|0;return xe(q,Ye,oq)|0}function Te(Ye,oq){Ye=Ye|0;oq=oq|0;var rq=0,sq=0;sq=q[Ye+4>>2];a:{if(sq){rq=1;if(r[sq+36|0]<2){break a}}rq=n[q[q[Ye>>2]+48>>2]](Ye,q[oq+4>>2]-q[oq>>2]>>2)|0}return rq|0}function Ue(Ye,oq,tq){Ye=Ye|0;oq=oq|0;tq=tq|0;var uq=0,vq=0,wq=0,xq=0,yq=0,zq=0,Aq=0,Bq=0,Cq=0,Dq=0;wq=T-16|0;T=wq;Aq=q[tq+8>>2];xq=q[tq+16>>2];yq=q[tq+12>>2];uq=yq;vq=q[tq+20>>2];a:{if((uq|0)<(vq|0)?1:(uq|0)<=(vq|0)?Aq>>>0>xq>>>0?0:1:0){break a}Bq=q[tq>>2];Cq=o[Bq+xq|0];uq=vq;zq=xq+1|0;if(zq>>>0<1){uq=uq+1|0}q[tq+16>>2]=zq;q[tq+20>>2]=uq;b:{if((Cq|0)==-2){break b}if((yq|0)<(uq|0)?1:(yq|0)<=(uq|0)?Aq>>>0>zq>>>0?0:1:0){break a}yq=o[zq+Bq|0];xq=xq+2|0;if(xq>>>0<2){vq=vq+1|0}uq=tq;q[uq+16>>2]=xq;q[uq+20>>2]=vq;n[q[q[Ye>>2]+40>>2]](wq+8|0,Ye,Cq,yq);vq=q[wq+8>>2];q[wq+8>>2]=0;uq=q[Ye+20>>2];q[Ye+20>>2]=vq;if(!uq){q[wq+8>>2]=0;break b}n[q[q[uq>>2]+4>>2]](uq);uq=q[wq+8>>2];q[wq+8>>2]=0;if(!uq){break b}n[q[q[uq>>2]+4>>2]](uq)}uq=q[Ye+20>>2];if(uq){if(!n[q[q[Ye>>2]+28>>2]](Ye,uq)){break a}}if(!n[q[q[Ye>>2]+36>>2]](Ye,oq,tq)){break a}tq=q[Ye+4>>2];if(!(!tq|r[tq+36|0]>1)){if(!n[q[q[Ye>>2]+48>>2]](Ye,q[oq+4>>2]-q[oq>>2]>>2)){break a}}Dq=1}T=wq+16|0;return Dq|0}function Ve(Ye,oq,tq,Eq){Ye=Ye|0;oq=oq|0;tq=tq|0;Eq=Eq|0;var Fq=0,Gq=0;Fq=T-48|0;T=Fq;a:{if((Eq|0)!=1){q[Ye>>2]=0;break a}Eq=q[oq+4>>2];oq=q[oq+12>>2];q[Fq+40>>2]=0;Gq=Fq+32|0;q[Gq>>2]=0;q[Gq+4>>2]=0;q[Fq+24>>2]=0;q[Fq+28>>2]=0;q[Fq+16>>2]=0;q[Fq+20>>2]=0;q[Fq+8>>2]=0;q[Fq+12>>2]=0;We(Fq,tq,oq,Eq,Fq+8|0);oq=q[Gq>>2];if(oq){q[Fq+36>>2]=oq;An(oq)}q[Ye>>2]=q[Fq>>2]}T=Fq+48|0}function We(Ye,oq,tq,Eq,Hq){var Iq=0,Jq=0;a:{if((oq|0)!=-2){Jq=q[q[q[Eq+4>>2]+8>>2]+(tq<<2)>>2];if((n[q[q[Eq>>2]+8>>2]](Eq)|0)==1){Iq=oq;oq=s[Eq+36>>1];bf(Ye,Eq,Iq,tq,Hq,(oq<<24|oq<<8&16711680)>>>16);if(q[Ye>>2]){break a}q[Ye>>2]=0}Iq=Mm(44);cf(Iq,Jq,Hq)}q[Ye>>2]=Iq}}function Xe(oq,tq,Eq){oq=oq|0;tq=tq|0;Eq=Eq|0;var Hq=0,Kq=0,Lq=0,Mq=0,Nq=0,Oq=0,Pq=0,Qq=0,Rq=0,Sq=0,Tq=0,Uq=0,Vq=0;a:{Tq=n[q[q[oq>>2]+44>>2]](oq)|0;if((Tq|0)<1){break a}Nq=q[tq+4>>2]-q[tq>>2]>>2;Ye(oq,Nq,Tq);Hq=q[oq+16>>2];if(!q[Hq+80>>2]){break a}Lq=q[q[Hq>>2]>>2];if(!Lq){break a}Pq=q[Eq+8>>2];Oq=q[Eq+16>>2];Mq=q[Eq+12>>2];Qq=Mq;Kq=q[Eq+20>>2];if((Qq|0)<(Kq|0)?1:(Qq|0)<=(Kq|0)?Pq>>>0>Oq>>>0?0:1:0){break a}Qq=w(Nq,Tq);Sq=Lq+q[Hq+48>>2]|0;Uq=q[Eq>>2];Vq=r[Uq+Oq|0];Nq=Eq;Hq=Kq;Lq=Oq+1|0;if(Lq>>>0<1){Hq=Hq+1|0}Rq=Lq;Lq=Hq;q[Nq+16>>2]=Rq;q[Nq+20>>2]=Hq;b:{c:{d:{if(Vq){if(qh(Qq,Tq,Eq,Sq)){break d}break a}if((Mq|0)<(Lq|0)?1:(Mq|0)<=(Lq|0)?Pq>>>0>Rq>>>0?0:1:0){break a}Nq=r[Rq+Uq|0];Hq=Kq;Kq=Oq+2|0;if(Kq>>>0<2){Hq=Hq+1|0}q[Eq+16>>2]=Kq;q[Eq+20>>2]=Hq;Hq=bk(5);Kq=q[q[oq+16>>2]- -64>>2];Kq=q[Kq+4>>2]-q[Kq>>2]|0;e:{if((Hq|0)==(Nq|0)){Nq=Qq<<2;if(Kq>>>0>>0){break a}Lq=q[Eq+12>>2];Hq=q[Eq+20>>2];Oq=q[Eq+16>>2];Kq=Nq;Mq=Oq+Kq|0;if(Mq>>>0>>0){Hq=Hq+1|0}if((Lq|0)>(Hq|0)?1:(Lq|0)>=(Hq|0)?t[Eq+8>>2]>>0?0:1:0){break e}break a}if(Kq>>>0>>0){break a}Oq=q[Eq+12>>2];Hq=q[Eq+20>>2];Pq=q[Eq+8>>2];Lq=Pq;Rq=q[Eq+16>>2];Mq=Rq;Kq=Nq;Vq=Lq-Mq>>>0>=$n(Kq,0,Qq,0)>>>0?0:1;Lq=Oq-(Hq+(Lq>>>0>>0)|0)|0;Mq=V;if((Lq|0)<(Mq|0)?1:(Lq|0)<=(Mq|0)?Vq:0){break a}Lq=0;if(!Qq){break c}Mq=0;Lq=Pq;Pq=Kq+Rq|0;if(Pq>>>0>>0){Hq=Hq+1|0}if((Oq|0)<(Hq|0)?1:(Oq|0)<=(Hq|0)?Lq>>>0>=Pq>>>0?0:1:0){break b}Pq=0;while(1){Cn(Sq+(Pq<<2)|0,Rq+q[Eq>>2]|0,Nq);Hq=q[Eq+20>>2];Rq=Kq+q[Eq+16>>2]|0;if(Rq>>>0>>0){Hq=Hq+1|0}q[Eq+16>>2]=Rq;q[Eq+20>>2]=Hq;Pq=Pq+1|0;if((Qq|0)==(Pq|0)){break d}Oq=q[Eq+12>>2];Uq=Kq+Rq|0;if(Uq>>>0>>0){Hq=Hq+1|0}if((Oq|0)>(Hq|0)?1:(Oq|0)>=(Hq|0)?t[Eq+8>>2]>>0?0:1:0){continue}break}break b}Cn(Sq,Oq+q[Eq>>2]|0,Nq);Hq=q[Eq+20>>2];Lq=Kq+q[Eq+16>>2]|0;if(Lq>>>0>>0){Hq=Hq+1|0}q[Eq+16>>2]=Lq;q[Eq+20>>2]=Hq}Lq=0;if(!Qq){break c}Kq=q[oq+20>>2];if(Kq){Lq=1;if(n[q[q[Kq>>2]+32>>2]](Kq)){break c}}Tj(Sq,Qq,Sq);Lq=1}Kq=q[oq+20>>2];f:{if(!Kq){break f}if(!n[q[q[Kq>>2]+40>>2]](Kq,Eq)){break a}if(!Lq){break f}Mq=0;oq=q[oq+20>>2];if(!n[q[q[oq>>2]+44>>2]](oq,Sq,Sq,Qq,Tq,q[tq>>2])){break b}}Mq=1}return Mq|0}return 0}function Ye(Ye,oq,tq){var Eq=0,Wq=0,Xq=0,Yq=0;Eq=T-80|0;T=Eq;Wq=nd(Eq+16|0);Xq=q[q[Ye+8>>2]+56>>2];Yq=tq<<24>>24;tq=w(bk(5),tq);od(Wq,Xq,Yq,5,0,tq,tq>>31);tq=Mm(96);sd(tq,Wq);q[Eq+8>>2]=tq;o[tq+84|0]=1;q[tq+72>>2]=q[tq+68>>2];td(tq,oq);q[Eq>>2]=0;oq=q[Eq+8>>2];q[Eq+8>>2]=0;tq=Ye+16|0;Ye=q[tq>>2];q[tq>>2]=oq;a:{if(!Ye){q[Eq>>2]=0;break a}Hb(Ye);Ye=q[Eq>>2];q[Eq>>2]=0;if(!Ye){break a}Hb(Ye)}Ye=q[Eq+8>>2];q[Eq+8>>2]=0;if(Ye){Hb(Ye)}T=Eq+80|0}function Ze(Ye,oq){Ye=Ye|0;oq=oq|0;var tq=0,Zq=0,_q=0,$q=0,ar=0,br=0,cr=0,dr=0,er=0;Zq=q[Ye+8>>2];tq=q[Zq+28>>2]+ -1|0;if(tq>>>0>5){return 0}a:{b:{switch(tq-1|0){case 0:$q=o[Zq+24|0];ar=Mm(($q|0)>-1?$q:-1);tq=q[Ye+16>>2];Zq=0;c:{if(!q[tq+80>>2]){break c}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}br=($q|0)<1;dr=Ye+8|0;tq=0;while(1){Ye=0;if(!br){while(1){o[Ye+ar|0]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if(($q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[dr>>2]- -64>>2]>>2]+cr|0,ar,$q);cr=$q+cr|0;_q=_q+1|0;if((_q|0)!=(oq|0)){continue}break}break a;default:$q=o[Zq+24|0];ar=Mm(($q|0)>-1?$q:-1);tq=q[Ye+16>>2];Zq=0;d:{if(!q[tq+80>>2]){break d}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}br=($q|0)<1;dr=Ye+8|0;tq=0;while(1){Ye=0;if(!br){while(1){o[Ye+ar|0]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if(($q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[dr>>2]- -64>>2]>>2]+cr|0,ar,$q);cr=$q+cr|0;_q=_q+1|0;if((_q|0)!=(oq|0)){continue}break}break a;case 2:_q=o[Zq+24|0];Zq=_q+_q|0;ar=Mm(Zq>>>0<_q>>>0?-1:Zq);tq=q[Ye+16>>2];Zq=0;e:{if(!q[tq+80>>2]){break e}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}br=_q<<1;dr=(_q|0)<1;er=Ye+8|0;tq=0;while(1){Ye=0;if(!dr){while(1){p[(Ye<<1)+ar>>1]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if((_q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[er>>2]- -64>>2]>>2]+cr|0,ar,br);cr=cr+br|0;$q=$q+1|0;if(($q|0)!=(oq|0)){continue}break}break a;case 1:_q=o[Zq+24|0];Zq=_q+_q|0;ar=Mm(Zq>>>0<_q>>>0?-1:Zq);tq=q[Ye+16>>2];Zq=0;f:{if(!q[tq+80>>2]){break f}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}br=_q<<1;dr=(_q|0)<1;er=Ye+8|0;tq=0;while(1){Ye=0;if(!dr){while(1){p[(Ye<<1)+ar>>1]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if((_q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[er>>2]- -64>>2]>>2]+cr|0,ar,br);cr=cr+br|0;$q=$q+1|0;if(($q|0)!=(oq|0)){continue}break}break a;case 4:_q=o[Zq+24|0];br=_q<<2;ar=Mm((_q|0)!=(_q&1073741823)?-1:br);tq=q[Ye+16>>2];Zq=0;g:{if(!q[tq+80>>2]){break g}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}dr=(_q|0)<1;er=Ye+8|0;tq=0;while(1){Ye=0;if(!dr){while(1){q[(Ye<<2)+ar>>2]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if((_q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[er>>2]- -64>>2]>>2]+cr|0,ar,br);cr=cr+br|0;$q=$q+1|0;if(($q|0)!=(oq|0)){continue}break}break a;case 3:break b}}_q=o[Zq+24|0];br=_q<<2;ar=Mm((_q|0)!=(_q&1073741823)?-1:br);tq=q[Ye+16>>2];Zq=0;h:{if(!q[tq+80>>2]){break h}Zq=q[q[tq>>2]>>2]+q[tq+48>>2]|0}if(!oq){break a}dr=(_q|0)<1;er=Ye+8|0;tq=0;while(1){Ye=0;if(!dr){while(1){q[(Ye<<2)+ar>>2]=q[Zq+(tq<<2)>>2];tq=tq+1|0;Ye=Ye+1|0;if((_q|0)!=(Ye|0)){continue}break}}Cn(q[q[q[er>>2]- -64>>2]>>2]+cr|0,ar,br);cr=cr+br|0;$q=$q+1|0;if(($q|0)!=(oq|0)){continue}break}}An(ar);return 1}function _e(Ye){Ye=Ye|0;var oq=0,fr=0;q[Ye>>2]=2220;fr=Ye+20|0;oq=q[fr>>2];q[fr>>2]=0;if(oq){n[q[q[oq>>2]+4>>2]](oq)}q[Ye>>2]=1908;fr=Ye+16|0;oq=q[fr>>2];q[fr>>2]=0;if(oq){Hb(oq)}return Ye|0}function $e(Ye){Ye=Ye|0;var gr=0,hr=0;q[Ye>>2]=2220;hr=Ye+20|0;gr=q[hr>>2];q[hr>>2]=0;if(gr){n[q[q[gr>>2]+4>>2]](gr)}q[Ye>>2]=1908;hr=Ye+16|0;gr=q[hr>>2];q[hr>>2]=0;if(gr){Hb(gr)}An(Ye)}function af(Ye){Ye=Ye|0;return o[q[Ye+8>>2]+24|0]}function bf(Ye,ir,jr,kr,lr,mr){var nr=0,or=0,pr=0,qr=0;nr=T-32|0;T=nr;pr=q[q[q[ir+4>>2]+8>>2]+(kr<<2)>>2];a:{b:{if((n[q[q[ir>>2]+8>>2]](ir)|0)!=1|jr+ -1>>>0>5){break b}qr=n[q[q[ir>>2]+36>>2]](ir)|0;or=n[q[q[ir>>2]+44>>2]](ir,kr)|0;if(!(or?qr:0)){q[Ye>>2]=0;break a}kr=n[q[q[ir>>2]+40>>2]](ir,kr)|0;if(kr){ir=q[ir+44>>2];q[nr+12>>2]=kr;q[nr+8>>2]=ir;q[nr+20>>2]=or;q[nr+16>>2]=or+12;df(Ye,jr,pr,lr,nr+8|0,mr);if(q[Ye>>2]){break a}q[Ye>>2]=0;break b}ir=q[ir+44>>2];q[nr+12>>2]=qr;q[nr+8>>2]=ir;q[nr+20>>2]=or;q[nr+16>>2]=or+12;ef(Ye,jr,pr,lr,nr+8|0,mr);if(q[Ye>>2]){break a}q[Ye>>2]=0}q[Ye>>2]=0}T=nr+32|0}function cf(Ye,ir,jr){var kr=0,lr=0,mr=0,rr=0,sr=0,tr=0,ur=0,vr=0;q[Ye>>2]=3044;q[Ye+4>>2]=ir;ir=q[jr+8>>2];kr=q[jr+12>>2];lr=q[jr+16>>2];rr=q[jr+20>>2];sr=q[jr>>2];tr=q[jr+4>>2];q[Ye+40>>2]=0;mr=Ye+32|0;q[mr>>2]=0;q[mr+4>>2]=0;q[Ye+24>>2]=lr;q[Ye+28>>2]=rr;q[Ye+16>>2]=ir;q[Ye+20>>2]=kr;q[Ye+8>>2]=sr;q[Ye+12>>2]=tr;a:{ir=q[jr+28>>2]-q[jr+24>>2]|0;b:{if(!ir){break b}kr=ir>>2;if(kr>>>0>=1073741824){break a}ir=Mm(ir);q[Ye+32>>2]=ir;lr=Ye+36|0;q[lr>>2]=ir;q[Ye+40>>2]=ir+(kr<<2);kr=q[jr+24>>2];jr=q[jr+28>>2]-kr|0;if((jr|0)<1){break b}ur=lr,vr=Cn(ir,kr,jr)+jr|0,q[ur>>2]=vr}q[Ye>>2]=6584;return}bn();F()}function df(Ye,ir,jr,wr,xr,yr){ir=ir+ -1|0;if(ir>>>0>5){q[Ye>>2]=0;return}a:{b:{switch(ir-1|0){default:ir=Mm(60);ff(ir,jr,wr,xr);q[ir>>2]=2336;break a;case 0:ir=Mm(60);ff(ir,jr,wr,xr);q[ir>>2]=3100;break a;case 2:ir=Mm(112);ff(ir,jr,wr,xr);q[ir>>2]=3336;q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir+68>>2]=0;q[ir+72>>2]=0;q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+84>>2]=0;q[ir+88>>2]=0;q[ir+92>>2]=0;q[ir+96>>2]=0;q[ir+100>>2]=0;q[ir+104>>2]=0;q[ir+108>>2]=0;break a;case 1:ir=Mm(92);ff(ir,jr,wr,xr);q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir>>2]=3584;q[ir+88>>2]=yr;q[ir+68>>2]=0;q[ir+72>>2]=0;q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+84>>2]=0;break a;case 3:ir=Mm(104);ff(ir,jr,wr,xr);q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir>>2]=3812;q[ir+84>>2]=0;jr=q[xr+4>>2];q[ir+88>>2]=q[xr>>2];q[ir+92>>2]=jr;jr=q[xr+12>>2];q[ir+96>>2]=q[xr+8>>2];q[ir+100>>2]=jr;break a;case 4:break b}}ir=Mm(124);ff(ir,jr,wr,xr);q[ir>>2]=4048;jr=ir- -64|0;q[jr>>2]=0;q[jr+4>>2]=0;jr=q[xr+4>>2];q[ir+72>>2]=q[xr>>2];q[ir+76>>2]=jr;jr=q[xr+12>>2];q[ir+80>>2]=q[xr+8>>2];q[ir+84>>2]=jr;q[ir+92>>2]=-1;q[ir+96>>2]=-1;q[ir+88>>2]=1;q[ir+60>>2]=4284;q[ir+100>>2]=-1;q[ir+104>>2]=-1;ah(ir+108|0);q[Ye>>2]=ir;return}q[Ye>>2]=ir}function ef(Ye,ir,jr,wr,xr,yr){ir=ir+ -1|0;if(ir>>>0>5){q[Ye>>2]=0;return}a:{b:{switch(ir-1|0){default:ir=Mm(60);Vf(ir,jr,wr,xr);q[ir>>2]=4676;break a;case 0:ir=Mm(60);Vf(ir,jr,wr,xr);q[ir>>2]=5100;break a;case 2:ir=Mm(112);Vf(ir,jr,wr,xr);q[ir>>2]=5324;q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir+68>>2]=0;q[ir+72>>2]=0;q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+84>>2]=0;q[ir+88>>2]=0;q[ir+92>>2]=0;q[ir+96>>2]=0;q[ir+100>>2]=0;q[ir+104>>2]=0;q[ir+108>>2]=0;break a;case 1:ir=Mm(92);Vf(ir,jr,wr,xr);q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir>>2]=5560;q[ir+88>>2]=yr;q[ir+68>>2]=0;q[ir+72>>2]=0;q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+84>>2]=0;break a;case 3:ir=Mm(104);Vf(ir,jr,wr,xr);q[ir+76>>2]=0;q[ir+80>>2]=0;q[ir+60>>2]=0;q[ir+64>>2]=0;q[ir>>2]=5776;q[ir+84>>2]=0;jr=q[xr+4>>2];q[ir+88>>2]=q[xr>>2];q[ir+92>>2]=jr;jr=q[xr+12>>2];q[ir+96>>2]=q[xr+8>>2];q[ir+100>>2]=jr;break a;case 4:break b}}ir=Mm(124);Vf(ir,jr,wr,xr);q[ir>>2]=6e3;jr=ir- -64|0;q[jr>>2]=0;q[jr+4>>2]=0;jr=q[xr+4>>2];q[ir+72>>2]=q[xr>>2];q[ir+76>>2]=jr;jr=q[xr+12>>2];q[ir+80>>2]=q[xr+8>>2];q[ir+84>>2]=jr;q[ir+92>>2]=-1;q[ir+96>>2]=-1;q[ir+88>>2]=1;q[ir+60>>2]=6220;q[ir+100>>2]=-1;q[ir+104>>2]=-1;ah(ir+108|0);q[Ye>>2]=ir;return}q[Ye>>2]=ir}function ff(Ye,ir,jr,wr){var xr=0,yr=0,zr=0,Ar=0,Br=0,Cr=0,Dr=0,Er=0;q[Ye>>2]=3044;q[Ye+4>>2]=ir;ir=q[jr+8>>2];xr=q[jr+12>>2];yr=q[jr+16>>2];Ar=q[jr+20>>2];Br=q[jr>>2];Cr=q[jr+4>>2];q[Ye+40>>2]=0;zr=Ye+32|0;q[zr>>2]=0;q[zr+4>>2]=0;q[Ye+24>>2]=yr;q[Ye+28>>2]=Ar;q[Ye+16>>2]=ir;q[Ye+20>>2]=xr;q[Ye+8>>2]=Br;q[Ye+12>>2]=Cr;a:{ir=q[jr+28>>2]-q[jr+24>>2]|0;b:{if(!ir){break b}xr=ir>>2;if(xr>>>0>=1073741824){break a}ir=Mm(ir);q[Ye+32>>2]=ir;yr=Ye+36|0;q[yr>>2]=ir;q[Ye+40>>2]=ir+(xr<<2);xr=q[jr+24>>2];jr=q[jr+28>>2]-xr|0;if((jr|0)<1){break b}Dr=yr,Er=Cn(ir,xr,jr)+jr|0,q[Dr>>2]=Er}q[Ye>>2]=2988;ir=q[wr+4>>2];q[Ye+44>>2]=q[wr>>2];q[Ye+48>>2]=ir;ir=q[wr+12>>2];q[Ye+52>>2]=q[wr+8>>2];q[Ye+56>>2]=ir;return}bn();F()}function gf(Ye){Ye=Ye|0;var ir=0;q[Ye>>2]=3044;ir=q[Ye+32>>2];if(ir){q[Ye+36>>2]=ir;An(ir)}An(Ye)}function hf(Ye){Ye=Ye|0;var jr=0;if(!(!q[Ye+52>>2]|(!q[Ye+44>>2]|!q[Ye+48>>2]))){jr=q[Ye+56>>2]!=0}return jr|0}function jf(q){q=q|0;return 0}function kf(q,Ye){q=q|0;Ye=Ye|0;return-1}function lf(Ye,wr){Ye=Ye|0;wr=wr|0;var Fr=0,Gr=0,Hr=0,Ir=0,Jr=0,Kr=0,Lr=0,Mr=0,Nr=0,Or=0;Gr=q[wr+12>>2];Lr=Gr;Fr=q[wr+20>>2];Ir=Fr;Jr=q[wr+16>>2];Hr=Jr+4|0;if(Hr>>>0<4){Fr=Fr+1|0}Mr=q[wr+8>>2];Kr=Hr;Hr=Fr;a:{if((Gr|0)<(Fr|0)?1:(Gr|0)<=(Fr|0)?Mr>>>0>=Kr>>>0?0:1:0){break a}Nr=q[wr>>2];Fr=Nr+Jr|0;Gr=r[Fr|0]|r[Fr+1|0]<<8|(r[Fr+2|0]<<16|r[Fr+3|0]<<24);q[wr+16>>2]=Kr;q[wr+20>>2]=Hr;Fr=Ir;Ir=Jr+8|0;if(Ir>>>0<8){Fr=Fr+1|0}Hr=Ir;Ir=Fr;if((Lr|0)<(Fr|0)?1:(Lr|0)<=(Fr|0)?Mr>>>0>=Hr>>>0?0:1:0){break a}Fr=Kr+Nr|0;Fr=r[Fr|0]|r[Fr+1|0]<<8|(r[Fr+2|0]<<16|r[Fr+3|0]<<24);q[wr+16>>2]=Hr;q[wr+20>>2]=Ir;if((Gr|0)>(Fr|0)){break a}q[Ye+16>>2]=Fr;q[Ye+12>>2]=Gr;wr=Gr;Gr=(Fr>>31)-((Fr>>>0>>0)+(wr>>31)|0)|0;wr=Fr-wr|0;if(!Gr&wr>>>0>2147483646|Gr>>>0>0){break a}Or=1;wr=wr+1|0;q[Ye+20>>2]=wr;Gr=Ye+24|0;Fr=(wr|0)/2|0;q[Gr>>2]=Fr;q[Ye+28>>2]=0-Fr;if(wr&1){break a}q[Gr>>2]=Fr+ -1}return Or|0}function mf(Ye,wr,Pr,Qr,Rr,Sr){Ye=Ye|0;wr=wr|0;Pr=Pr|0;Qr=Qr|0;Rr=Rr|0;Sr=Sr|0;var Tr=0,Ur=0,Vr=0,Wr=0,Xr=0,Yr=0,Zr=0,_r=0,$r=0,as=0,bs=0,cs=0,ds=0,es=0,fs=0,gs=0;q[Ye+8>>2]=Rr;Sr=Ye+32|0;Tr=q[Sr>>2];Qr=q[Ye+36>>2]-Tr>>2;a:{if(Qr>>>0>>0){Fa(Sr,Rr-Qr|0);break a}if(Qr>>>0<=Rr>>>0){break a}q[Ye+36>>2]=Tr+(Rr<<2)}fs=q[Ye+52>>2];cs=q[Ye+48>>2];Qr=0;Sr=(Rr&1073741823)!=(Rr|0)?-1:Rr<<2;as=Dn(Mm(Sr),0,Sr);Yr=Ye+8|0;Sr=q[Yr>>2];b:{if((Sr|0)<1){break b}Zr=Ye+16|0;Tr=Ye+32|0;_r=Ye+12|0;while(1){Sr=Qr<<2;Vr=q[Sr+as>>2];Xr=q[Zr>>2];c:{if((Vr|0)>(Xr|0)){Ur=q[Tr>>2];q[Sr+Ur>>2]=Xr;break c}Ur=q[Tr>>2];Sr=Sr+Ur|0;Xr=q[_r>>2];if((Vr|0)<(Xr|0)){q[Sr>>2]=Xr;break c}q[Sr>>2]=Vr}Qr=Qr+1|0;Sr=q[Yr>>2];if((Qr|0)<(Sr|0)){continue}break}if((Sr|0)<1){break b}Tr=0;Yr=Ye+16|0;Vr=Ye+20|0;Zr=Ye+8|0;_r=Ye+12|0;while(1){Sr=Tr<<2;Qr=Sr+Pr|0;Sr=q[wr+Sr>>2]+q[Sr+Ur>>2]|0;q[Qr>>2]=Sr;d:{if((Sr|0)>q[Yr>>2]){Sr=Sr-q[Vr>>2]|0}else{if((Sr|0)>=q[_r>>2]){break d}Sr=Sr+q[Vr>>2]|0}q[Qr>>2]=Sr}Tr=Tr+1|0;Sr=q[Zr>>2];if((Tr|0)<(Sr|0)){continue}break}}Qr=q[Ye+56>>2];ds=q[Qr>>2];Qr=q[Qr+4>>2]-ds|0;if((Qr|0)>=5){es=Qr>>2;Yr=Ye+16|0;Zr=Ye+32|0;_r=Ye+8|0;Xr=Ye+20|0;bs=Ye+12|0;gs=cs+28|0;Vr=1;while(1){e:{f:{if(es>>>0>Vr>>>0){$r=w(Rr,Vr);Ye=q[(Vr<<2)+ds>>2];if((Ye|0)==-1|q[q[cs>>2]+(Ye>>>3&536870908)>>2]>>>(Ye&31)&1){break f}Ye=q[q[q[cs+64>>2]+12>>2]+(Ye<<2)>>2];if((Ye|0)==-1){break f}Tr=q[fs>>2];Qr=q[gs>>2];Ur=q[Tr+(q[Qr+(Ye<<2)>>2]<<2)>>2];if((Ur|0)>=(Vr|0)){break f}Wr=Ye+1|0;Wr=q[Tr+(q[Qr+(((Wr>>>0)%3|0?Wr:Ye+ -2|0)<<2)>>2]<<2)>>2];if((Wr|0)>=(Vr|0)){break f}Ye=q[Tr+(q[Qr+(Ye+((Ye>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((Ye|0)>=(Vr|0)){break f}if((Rr|0)>=1){Ye=w(Ye,Rr);Tr=w(Rr,Wr);Ur=w(Rr,Ur);Qr=0;while(1){q[(Qr<<2)+as>>2]=(q[(Ye+Qr<<2)+Pr>>2]+q[(Qr+Tr<<2)+Pr>>2]|0)-q[(Qr+Ur<<2)+Pr>>2];Qr=Qr+1|0;if((Rr|0)!=(Qr|0)){continue}break}}if((Sr|0)<1){break e}Qr=0;while(1){Ye=Qr<<2;Sr=q[Ye+as>>2];Tr=q[Yr>>2];g:{if((Sr|0)>(Tr|0)){Ur=q[Zr>>2];q[Ye+Ur>>2]=Tr;break g}Ur=q[Zr>>2];Ye=Ye+Ur|0;Tr=q[bs>>2];if((Sr|0)<(Tr|0)){q[Ye>>2]=Tr;break g}q[Ye>>2]=Sr}Qr=Qr+1|0;Sr=q[_r>>2];if((Qr|0)<(Sr|0)){continue}break}Tr=0;if((Sr|0)<1){break e}Ye=$r<<2;$r=Ye+Pr|0;Wr=Ye+wr|0;while(1){Qr=Tr<<2;Ye=Qr+$r|0;Qr=q[Qr+Wr>>2]+q[Qr+Ur>>2]|0;q[Ye>>2]=Qr;h:{if((Qr|0)>q[Yr>>2]){Qr=Qr-q[Xr>>2]|0}else{if((Qr|0)>=q[bs>>2]){break h}Qr=Qr+q[Xr>>2]|0}q[Ye>>2]=Qr}Tr=Tr+1|0;Sr=q[_r>>2];if((Tr|0)<(Sr|0)){continue}break}break e}cn();F()}if((Sr|0)<1){break e}Tr=(w(Vr+ -1|0,Rr)<<2)+Pr|0;Qr=0;while(1){Ye=Qr<<2;Sr=q[Ye+Tr>>2];Wr=q[Yr>>2];i:{if((Sr|0)>(Wr|0)){Ur=q[Zr>>2];q[Ye+Ur>>2]=Wr;break i}Ur=q[Zr>>2];Ye=Ye+Ur|0;Wr=q[bs>>2];if((Sr|0)<(Wr|0)){q[Ye>>2]=Wr;break i}q[Ye>>2]=Sr}Qr=Qr+1|0;Sr=q[_r>>2];if((Qr|0)<(Sr|0)){continue}break}Tr=0;if((Sr|0)<1){break e}Ye=$r<<2;$r=Ye+Pr|0;Wr=Ye+wr|0;while(1){Qr=Tr<<2;Ye=Qr+$r|0;Qr=q[Qr+Wr>>2]+q[Qr+Ur>>2]|0;q[Ye>>2]=Qr;j:{if((Qr|0)>q[Yr>>2]){Qr=Qr-q[Xr>>2]|0}else{if((Qr|0)>=q[bs>>2]){break j}Qr=Qr+q[Xr>>2]|0}q[Ye>>2]=Qr}Tr=Tr+1|0;Sr=q[_r>>2];if((Tr|0)<(Sr|0)){continue}break}}Vr=Vr+1|0;if((Vr|0)<(es|0)){continue}break}}An(as);return 1}function nf(Ye){Ye=Ye|0;var wr=0;q[Ye>>2]=3044;wr=q[Ye+32>>2];if(wr){q[Ye+36>>2]=wr;An(wr)}return Ye|0}function of(Ye,Pr,Qr,Rr,Sr,hs){Ye=Ye|0;Pr=Pr|0;Qr=Qr|0;Rr=Rr|0;Sr=Sr|0;hs=hs|0;var is=0,js=0,ks=0,ls=0,ms=0,ns=0,os=0,ps=0,qs=0,rs=0,ss=0,ts=0,us=0,vs=0,ws=0,xs=0,ys=0,zs=0,As=0,Bs=0,Cs=0,Ds=0;q[Ye+8>>2]=Sr;hs=Ye+32|0;is=q[hs>>2];Rr=q[Ye+36>>2]-is>>2;a:{if(Rr>>>0>>0){Fa(hs,Sr-Rr|0);break a}if(Rr>>>0<=Sr>>>0){break a}q[Ye+36>>2]=is+(Sr<<2)}hs=0;Rr=(Sr&1073741823)!=(Sr|0)?-1:Sr<<2;rs=Dn(Mm(Rr),0,Rr);ws=Dn(Mm(Rr),0,Rr);os=Ye+8|0;is=q[os>>2];b:{if((is|0)<1){break b}ps=Ye+16|0;Rr=Ye+32|0;qs=Ye+12|0;while(1){is=hs<<2;ls=q[is+rs>>2];ns=q[ps>>2];c:{if((ls|0)>(ns|0)){ks=q[Rr>>2];q[is+ks>>2]=ns;break c}ks=q[Rr>>2];is=is+ks|0;ns=q[qs>>2];if((ls|0)<(ns|0)){q[is>>2]=ns;break c}q[is>>2]=ls}hs=hs+1|0;is=q[os>>2];if((hs|0)<(is|0)){continue}break}if((is|0)<1){break b}Rr=0;os=Ye+16|0;ls=Ye+20|0;ps=Ye+8|0;qs=Ye+12|0;while(1){is=Rr<<2;hs=is+Qr|0;is=q[Pr+is>>2]+q[is+ks>>2]|0;q[hs>>2]=is;d:{if((is|0)>q[os>>2]){is=is-q[ls>>2]|0}else{if((is|0)>=q[qs>>2]){break d}is=is+q[ls>>2]|0}q[hs>>2]=is}Rr=Rr+1|0;is=q[ps>>2];if((Rr|0)<(is|0)){continue}break}}Rr=q[Ye+56>>2];xs=q[Rr>>2];Rr=q[Rr+4>>2]-xs|0;if((Rr|0)>=5){ys=Rr>>2;As=Sr<<2;Bs=q[Ye+52>>2];os=Ye+16|0;ps=Ye+32|0;qs=Ye+8|0;ns=Ye+20|0;us=Ye+12|0;ss=q[Ye+48>>2];Cs=ss+28|0;ls=1;while(1){e:{f:{g:{if(ys>>>0>ls>>>0){Ye=q[(ls<<2)+xs>>2];zs=(Sr|0)<1;if(!zs){Dn(rs,0,As)}if((Ye|0)==-1){Ye=w(Sr,ls);break f}Ds=q[ss>>2];ks=0;Rr=Ye;while(1){h:{if(q[Ds+(Rr>>>3&536870908)>>2]>>>(Rr&31)&1){break h}hs=q[q[q[ss+64>>2]+12>>2]+(Rr<<2)>>2];if((hs|0)==-1){break h}ms=q[Bs>>2];js=q[Cs>>2];vs=q[ms+(q[js+(hs<<2)>>2]<<2)>>2];if((vs|0)>=(ls|0)){break h}ts=hs+1|0;ts=q[ms+(q[js+(((ts>>>0)%3|0?ts:hs+ -2|0)<<2)>>2]<<2)>>2];if((ts|0)>=(ls|0)){break h}hs=q[ms+(q[js+(hs+((hs>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((hs|0)>=(ls|0)){break h}i:{if(zs){break i}js=w(Sr,hs);ms=w(Sr,ts);vs=w(Sr,vs);hs=0;while(1){q[ws+(hs<<2)>>2]=(q[(hs+js<<2)+Qr>>2]+q[(hs+ms<<2)+Qr>>2]|0)-q[(hs+vs<<2)+Qr>>2];hs=hs+1|0;if((hs|0)!=(Sr|0)){continue}break}hs=0;if((Sr|0)<=0){break i}while(1){js=hs<<2;ms=js+rs|0;q[ms>>2]=q[ms>>2]+q[js+ws>>2];hs=hs+1|0;if((hs|0)!=(Sr|0)){continue}break}}ks=ks+1|0}hs=-1;Rr=((Rr>>>0)%3|0?-1:2)+Rr|0;j:{if((Rr|0)==-1|q[q[ss>>2]+(Rr>>>3&536870908)>>2]>>>(Rr&31)&1){break j}Rr=q[q[q[ss+64>>2]+12>>2]+(Rr<<2)>>2];if((Rr|0)==-1){break j}if((Rr>>>0)%3){hs=Rr+ -1|0;break j}hs=Rr+2|0}Rr=(Ye|0)==(hs|0)?-1:hs;if((Rr|0)!=-1){continue}break}Ye=w(Sr,ls);if(!ks){break f}hs=0;if((Sr|0)<=0){break g}while(1){Rr=(hs<<2)+rs|0;q[Rr>>2]=q[Rr>>2]/(ks|0);hs=hs+1|0;if((hs|0)!=(Sr|0)){continue}break}break g}cn();F()}if((is|0)<1){break e}hs=0;while(1){Rr=hs<<2;is=q[Rr+rs>>2];js=q[os>>2];k:{if((is|0)>(js|0)){ks=q[ps>>2];q[Rr+ks>>2]=js;break k}ks=q[ps>>2];Rr=Rr+ks|0;js=q[us>>2];if((is|0)<(js|0)){q[Rr>>2]=js;break k}q[Rr>>2]=is}hs=hs+1|0;is=q[qs>>2];if((hs|0)<(is|0)){continue}break}Rr=0;if((is|0)<1){break e}Ye=Ye<<2;js=Ye+Qr|0;ms=Ye+Pr|0;while(1){hs=Rr<<2;Ye=hs+js|0;hs=q[hs+ms>>2]+q[hs+ks>>2]|0;q[Ye>>2]=hs;l:{if((hs|0)>q[os>>2]){hs=hs-q[ns>>2]|0}else{if((hs|0)>=q[us>>2]){break l}hs=hs+q[ns>>2]|0}q[Ye>>2]=hs}Rr=Rr+1|0;is=q[qs>>2];if((Rr|0)<(is|0)){continue}break}break e}if((is|0)<1){break e}js=(w(ls+ -1|0,Sr)<<2)+Qr|0;hs=0;while(1){Rr=hs<<2;is=q[Rr+js>>2];ms=q[os>>2];m:{if((is|0)>(ms|0)){ks=q[ps>>2];q[Rr+ks>>2]=ms;break m}ks=q[ps>>2];Rr=Rr+ks|0;ms=q[us>>2];if((is|0)<(ms|0)){q[Rr>>2]=ms;break m}q[Rr>>2]=is}hs=hs+1|0;is=q[qs>>2];if((hs|0)<(is|0)){continue}break}Rr=0;if((is|0)<1){break e}Ye=Ye<<2;js=Ye+Qr|0;ms=Ye+Pr|0;while(1){hs=Rr<<2;Ye=hs+js|0;hs=q[hs+ms>>2]+q[hs+ks>>2]|0;q[Ye>>2]=hs;n:{if((hs|0)>q[os>>2]){hs=hs-q[ns>>2]|0}else{if((hs|0)>=q[us>>2]){break n}hs=hs+q[ns>>2]|0}q[Ye>>2]=hs}Rr=Rr+1|0;is=q[qs>>2];if((Rr|0)<(is|0)){continue}break}}ls=ls+1|0;if((ls|0)<(ys|0)){continue}break}}An(ws);An(rs);return 1}function pf(Ye){Ye=Ye|0;var Pr=0;q[Ye>>2]=3336;Pr=q[Ye+96>>2];if(Pr){An(Pr)}Pr=q[Ye+84>>2];if(Pr){An(Pr)}Pr=q[Ye+72>>2];if(Pr){An(Pr)}Pr=q[Ye+60>>2];if(Pr){An(Pr)}q[Ye>>2]=3044;Pr=q[Ye+32>>2];if(Pr){q[Ye+36>>2]=Pr;An(Pr)}return Ye|0}function qf(Ye){Ye=Ye|0;var Qr=0;q[Ye>>2]=3336;Qr=q[Ye+96>>2];if(Qr){An(Qr)}Qr=q[Ye+84>>2];if(Qr){An(Qr)}Qr=q[Ye+72>>2];if(Qr){An(Qr)}Qr=q[Ye+60>>2];if(Qr){An(Qr)}q[Ye>>2]=3044;Qr=q[Ye+32>>2];if(Qr){q[Ye+36>>2]=Qr;An(Qr)}An(Ye)}function rf(q){q=q|0;return 4}function sf(Ye,Rr){Ye=Ye|0;Rr=Rr|0;var Sr=0,hs=0,Es=0,Fs=0,Gs=0,Hs=0,Is=0,Js=0,Ks=0,Ls=0,Ms=0;Js=T-32|0;T=Js;a:{if(s[Rr+38>>1]<=513){Es=q[Rr+16>>2];hs=q[Rr+12>>2];Sr=q[Rr+20>>2];if((hs|0)<(Sr|0)?1:(hs|0)<=(Sr|0)?t[Rr+8>>2]>Es>>>0?0:1:0){break a}Fs=r[Es+q[Rr>>2]|0];Es=Es+1|0;if(Es>>>0<1){Sr=Sr+1|0}q[Rr+16>>2]=Es;q[Rr+20>>2]=Sr;if(Fs){break a}}b:{while(1){if(!tf(1,Js+28|0,Rr)){break b}Sr=q[Js+28>>2];if(Sr){Fs=(w(Gs,12)+Ye|0)+60|0;uf(Fs,Sr);Is=ah(Js+8|0);if(!bh(Is,Rr)){break b}Hs=0;while(1){hs=1<<(Hs&31);Ks=dh(Is);Es=q[Fs>>2]+(Hs>>>3&536870908)|0;Ls=Es;if(Ks){hs=hs|q[Es>>2]}else{hs=q[Es>>2]&(hs^-1)}q[Ls>>2]=hs;Hs=Hs+1|0;if((Sr|0)!=(Hs|0)){continue}break}}Gs=Gs+1|0;if((Gs|0)!=4){continue}break}Hs=0;hs=q[Rr+12>>2];Es=hs;Sr=q[Rr+20>>2];Gs=Sr;Is=q[Rr+16>>2];Fs=Is+4|0;if(Fs>>>0<4){Sr=Sr+1|0}Ls=q[Rr+8>>2];Ks=Fs;Fs=Sr;if((hs|0)<(Sr|0)?1:(hs|0)<=(Sr|0)?Ls>>>0>=Ks>>>0?0:1:0){break a}Ms=q[Rr>>2];Sr=Ms+Is|0;hs=r[Sr|0]|r[Sr+1|0]<<8|(r[Sr+2|0]<<16|r[Sr+3|0]<<24);q[Rr+16>>2]=Ks;q[Rr+20>>2]=Fs;Sr=Gs;Gs=Is+8|0;if(Gs>>>0<8){Sr=Sr+1|0}Fs=Gs;Gs=Sr;if((Es|0)<(Sr|0)?1:(Es|0)<=(Sr|0)?Ls>>>0>=Fs>>>0?0:1:0){break a}Sr=Ks+Ms|0;Sr=r[Sr|0]|r[Sr+1|0]<<8|(r[Sr+2|0]<<16|r[Sr+3|0]<<24);q[Rr+16>>2]=Fs;q[Rr+20>>2]=Gs;if((hs|0)>(Sr|0)){break a}q[Ye+16>>2]=Sr;q[Ye+12>>2]=hs;Rr=hs;hs=(Sr>>31)-((Sr>>>0>>0)+(Rr>>31)|0)|0;Rr=Sr-Rr|0;if(!hs&Rr>>>0>2147483646|hs>>>0>0){break a}Hs=1;Rr=Rr+1|0;q[Ye+20>>2]=Rr;hs=Ye+24|0;Sr=(Rr|0)/2|0;q[hs>>2]=Sr;q[Ye+28>>2]=0-Sr;if(Rr&1){break a}q[hs>>2]=Sr+ -1;break a}Hs=0}T=Js+32|0;return Hs|0}function tf(Ye,Rr,Ns){var Os=0,Ps=0,Qs=0,Rs=0;a:{if(Ye>>>0>5){break a}Qs=q[Ns+16>>2];Os=q[Ns+12>>2];Ps=q[Ns+20>>2];if((Os|0)<(Ps|0)?1:(Os|0)<=(Ps|0)?t[Ns+8>>2]>Qs>>>0?0:1:0){break a}Os=r[Qs+q[Ns>>2]|0];Qs=Qs+1|0;if(Qs>>>0<1){Ps=Ps+1|0}q[Ns+16>>2]=Qs;q[Ns+20>>2]=Ps;Ps=Rr;if(Os&128){if(!tf(Ye+1|0,Rr,Ns)){break a}Ye=q[Rr>>2]<<7;q[Rr>>2]=Ye;Os=Ye|Os&127}q[Ps>>2]=Os;Rs=1}return Rs}function uf(Ye,Rr){var Ns=0,Ss=0,Ts=0,Us=0,Vs=0,Ws=0;Ss=T-32|0;T=Ss;a:{Ns=q[Ye+4>>2];b:{if(Ns>>>0>>0){Vs=q[Ye+8>>2];Ts=Vs<<5;Us=Rr-Ns|0;c:{if(!(Ts>>>0>>0|Ns>>>0>Ts-Us>>>0)){q[Ye+4>>2]=Rr;Rr=Ns&31;Ye=q[Ye>>2]+(Ns>>>3&536870908)|0;break c}q[Ss+24>>2]=0;q[Ss+16>>2]=0;q[Ss+20>>2]=0;if((Rr|0)<=-1){break a}Ns=Ss+16|0;if(Ts>>>0<=1073741822){Rr=Rr+31&-32;Ts=Vs<<6;Rr=Ts>>>0>>0?Rr:Ts}else{Rr=2147483647}cb(Ns,Rr);Ns=q[Ye+4>>2];q[Ss+20>>2]=Ns+Us;Rr=q[Ss+16>>2];d:{if((Ns|0)<1){Ns=0;break d}Vs=q[Ye>>2];Ts=Ns>>>5<<2;Rr=En(Rr,Vs,Ts)+Ts|0;Ns=Ns&31;if(!Ns){Ns=0;break d}Ws=-1>>>32-Ns;q[Rr>>2]=q[Rr>>2]&(Ws^-1)|q[Ts+Vs>>2]&Ws}q[Ss+12>>2]=Ns;q[Ss+8>>2]=Rr;Ns=q[Ss+8>>2];Rr=q[Ss+12>>2];Ts=q[Ye>>2];q[Ye>>2]=q[Ss+16>>2];q[Ss+16>>2]=Ts;Vs=q[Ye+4>>2];q[Ye+4>>2]=q[Ss+20>>2];q[Ss+20>>2]=Vs;Ye=Ye+8|0;Vs=q[Ye>>2];q[Ye>>2]=q[Ss+24>>2];q[Ss+24>>2]=Vs;if(Ts){An(Ts)}Ye=Ns}if(!Us){break b}if(Rr){Ns=32-Rr|0;Ts=Ns>>>0>Us>>>0?Us:Ns;q[Ye>>2]=q[Ye>>2]&(-1<>>Ns-Ts^-1);Us=Us-Ts|0;Ye=Ye+4|0}Rr=Ye;Ye=Us>>>5<<2;Rr=Dn(Rr,0,Ye);Ns=Us&31;if(!Ns){break b}Ye=Ye+Rr|0;q[Ye>>2]=q[Ye>>2]&(-1>>>32-Ns^-1);break b}q[Ye+4>>2]=Rr}T=Ss+32|0;return}bn();F()}function vf(Ye,Rr,Xs,Ys,Zs,_s){Ye=Ye|0;Rr=Rr|0;Xs=Xs|0;Ys=Ys|0;Zs=Zs|0;_s=_s|0;var $s=0,at=0,bt=0,ct=0,dt=0,et=0,ft=0,gt=0,ht=0,it=0,jt=0,kt=0,lt=0,mt=0,nt=0,ot=0,pt=0,qt=0,rt=0,st=0,tt=0,ut=0,vt=0,wt=0,xt=0,yt=0;bt=T+ -64|0;T=bt;q[Ye+8>>2]=Zs;_s=Ye+32|0;ct=q[_s>>2];Ys=q[Ye+36>>2]-ct>>2;a:{if(Ys>>>0>>0){Fa(_s,Zs-Ys|0);break a}if(Ys>>>0<=Zs>>>0){break a}q[Ye+36>>2]=ct+(Zs<<2)}q[bt+56>>2]=0;q[bt+60>>2]=0;q[bt+48>>2]=0;q[bt+52>>2]=0;q[bt+40>>2]=0;q[bt+44>>2]=0;_s=bt+32|0;q[_s>>2]=0;q[_s+4>>2]=0;q[bt+24>>2]=0;q[bt+28>>2]=0;q[bt+16>>2]=0;q[bt+20>>2]=0;q[bt>>2]=0;Ys=0;if(Zs){Ad(bt+16|0,Zs,bt);at=q[bt+28>>2];Ys=q[_s>>2]}q[bt>>2]=0;Ys=Ys-at>>2;b:{if(Ys>>>0>=Zs>>>0){if(Ys>>>0<=Zs>>>0){break b}q[bt+32>>2]=(Zs<<2)+at;break b}Ad(bt+16|12,Zs-Ys|0,bt)}q[bt>>2]=0;_s=q[bt+40>>2];Ys=q[bt+44>>2]-_s>>2;c:{if(Ys>>>0>=Zs>>>0){if(Ys>>>0<=Zs>>>0){break c}q[bt+44>>2]=_s+(Zs<<2);break c}Ad(bt+40|0,Zs-Ys|0,bt)}q[bt>>2]=0;_s=q[bt+52>>2];Ys=q[bt+56>>2]-_s>>2;d:{if(Ys>>>0>=Zs>>>0){if(Ys>>>0<=Zs>>>0){break d}q[bt+56>>2]=_s+(Zs<<2);break d}Ad(bt+52|0,Zs-Ys|0,bt)}et=Ye+8|0;e:{if(q[et>>2]<=0){break e}ft=q[bt+16>>2];at=0;ht=Ye+16|0;Ys=Ye+32|0;dt=Ye+12|0;while(1){_s=at<<2;$s=q[_s+ft>>2];it=q[ht>>2];f:{if(($s|0)>(it|0)){ct=q[Ys>>2];q[_s+ct>>2]=it;break f}ct=q[Ys>>2];_s=_s+ct|0;it=q[dt>>2];if(($s|0)<(it|0)){q[_s>>2]=it;break f}q[_s>>2]=$s}at=at+1|0;_s=q[et>>2];if((at|0)<(_s|0)){continue}break}if((_s|0)<1){break e}Ys=0;et=Ye+16|0;at=Ye+20|0;ft=Ye+8|0;ht=Ye+12|0;while(1){$s=Ys<<2;_s=$s+Xs|0;$s=q[Rr+$s>>2]+q[$s+ct>>2]|0;q[_s>>2]=$s;g:{if(($s|0)>q[et>>2]){$s=$s-q[at>>2]|0}else{if(($s|0)>=q[ht>>2]){break g}$s=$s+q[at>>2]|0}q[_s>>2]=$s}Ys=Ys+1|0;if((Ys|0)>2]){continue}break}}wt=q[Ye+52>>2];ft=q[Ye+48>>2];qt=Mm(16);Ys=qt;q[Ys>>2]=0;q[Ys+4>>2]=0;q[Ys+8>>2]=0;q[Ys+12>>2]=0;q[bt+8>>2]=0;q[bt>>2]=0;q[bt+4>>2]=0;h:{if(Zs){if(Zs>>>0>=1073741824){break h}Ys=Zs<<2;mt=Mm(Ys);q[bt>>2]=mt;_s=Ys+mt|0;q[bt+8>>2]=_s;Dn(mt,0,Ys);q[bt+4>>2]=_s}Ys=1;_s=q[Ye+56>>2];ut=q[_s>>2];_s=q[_s+4>>2]-ut|0;i:{if((_s|0)<5){break i}vt=_s>>2;xt=Zs<<2;ht=Ye+8|0;it=Ye+16|0;nt=Ye+32|0;ot=Ye+20|0;pt=Ye+12|0;yt=ft+28|0;et=1;while(1){j:{k:{l:{if(vt>>>0>et>>>0){m:{n:{ct=q[(et<<2)+ut>>2];if((ct|0)==-1){break n}gt=ct+((ct>>>0)%3|0?-1:2)|0;rt=gt>>>5;dt=1;st=1<<(gt&31);tt=q[ft>>2];_s=0;Ys=ct;o:{while(1){p:{if(q[tt+(Ys>>>3&536870908)>>2]>>>(Ys&31)&1){break p}$s=q[q[q[ft+64>>2]+12>>2]+(Ys<<2)>>2];if(($s|0)==-1){break p}kt=q[wt>>2];at=q[yt>>2];lt=q[kt+(q[at+($s<<2)>>2]<<2)>>2];if((lt|0)>=(et|0)){break p}jt=$s+1|0;jt=q[kt+(q[at+(((jt>>>0)%3|0?jt:$s+ -2|0)<<2)>>2]<<2)>>2];if((jt|0)>=(et|0)){break p}$s=q[kt+(q[at+($s+(($s>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if(($s|0)>=(et|0)){break p}if((Zs|0)>=1){kt=q[(bt+16|0)+w(_s,12)>>2];$s=w(Zs,$s);jt=w(Zs,jt);lt=w(Zs,lt);at=0;while(1){q[kt+(at<<2)>>2]=(q[($s+at<<2)+Xs>>2]+q[(at+jt<<2)+Xs>>2]|0)-q[(at+lt<<2)+Xs>>2];at=at+1|0;if((at|0)!=(Zs|0)){continue}break}}$s=4;_s=_s+1|0;if((_s|0)==4){break o}}q:{if(dt&1){at=-1;$s=Ys+1|0;Ys=($s>>>0)%3|0?$s:Ys+ -2|0;if((Ys|0)==-1|q[q[ft>>2]+(Ys>>>3&536870908)>>2]>>>(Ys&31)&1){break q}Ys=q[q[q[ft+64>>2]+12>>2]+(Ys<<2)>>2];if((Ys|0)==-1){break q}$s=Ys+1|0;at=($s>>>0)%3|0?$s:Ys+ -2|0;break q}at=-1;Ys=((Ys>>>0)%3|0?-1:2)+Ys|0;if((Ys|0)==-1|q[q[ft>>2]+(Ys>>>3&536870908)>>2]>>>(Ys&31)&1){break q}Ys=q[q[q[ft+64>>2]+12>>2]+(Ys<<2)>>2];if((Ys|0)==-1){break q}if((Ys>>>0)%3){at=Ys+ -1|0;break q}at=Ys+2|0}r:{if((at|0)==(ct|0)){break r}Ys=at;$s=(at|0)!=-1;at=($s|dt^-1)&1;Ys=at?Ys:-1;dt=$s&dt;if(!((gt|0)==-1|at)){if(q[q[ft>>2]+(rt<<2)>>2]&st){break r}$s=q[q[q[ft+64>>2]+12>>2]+(gt<<2)>>2];if(($s|0)==-1){break r}dt=0;if(($s>>>0)%3){Ys=$s+ -1|0}else{Ys=$s+2|0}}if((Ys|0)!=-1){continue}}break}$s=_s;if(($s|0)<1){break n}}gt=(Zs|0)<1;if(!gt){Dn(mt,0,xt)}Ys=$s+ -1|0;dt=(Ys<<2)+qt|0;Ys=w(Ys,12)+Ye|0;kt=Ys+60|0;rt=q[Ys- -64>>2];Ys=0;st=q[bt>>2];ct=0;_s=0;while(1){at=q[dt>>2];q[dt>>2]=at+1;if(rt>>>0<=at>>>0){break i}s:{if(q[q[kt>>2]+(at>>>3&536870908)>>2]>>>(at&31)&1){break s}_s=_s+1|0;if(gt){break s}tt=q[(bt+16|0)+w(ct,12)>>2];at=0;while(1){lt=at<<2;jt=lt+st|0;q[jt>>2]=q[jt>>2]+q[lt+tt>>2];at=at+1|0;if((at|0)!=(Zs|0)){continue}break}}ct=ct+1|0;if(($s|0)!=(ct|0)){continue}break}dt=w(Zs,et);$s=dt;if(!_s){break m}at=0;if((Zs|0)>0){break l}break k}$s=w(Zs,et)}if(q[ht>>2]<1){break j}dt=(w(et+ -1|0,Zs)<<2)+Xs|0;at=0;while(1){Ys=at<<2;_s=q[Ys+dt>>2];gt=q[it>>2];t:{if((_s|0)>(gt|0)){ct=q[nt>>2];q[Ys+ct>>2]=gt;break t}ct=q[nt>>2];Ys=Ys+ct|0;gt=q[pt>>2];if((_s|0)<(gt|0)){q[Ys>>2]=gt;break t}q[Ys>>2]=_s}at=at+1|0;_s=q[ht>>2];if((at|0)<(_s|0)){continue}break}Ys=0;if((_s|0)<1){break j}_s=$s<<2;at=_s+Xs|0;dt=Rr+_s|0;while(1){$s=Ys<<2;_s=$s+at|0;$s=q[$s+dt>>2]+q[$s+ct>>2]|0;q[_s>>2]=$s;u:{if(($s|0)>q[it>>2]){$s=$s-q[ot>>2]|0}else{if(($s|0)>=q[pt>>2]){break u}$s=$s+q[ot>>2]|0}q[_s>>2]=$s}Ys=Ys+1|0;if((Ys|0)>2]){continue}break}break j}cn();F()}while(1){Ys=(at<<2)+mt|0;q[Ys>>2]=q[Ys>>2]/(_s|0);at=at+1|0;if((at|0)!=(Zs|0)){continue}break}}if(q[ht>>2]<1){break j}at=0;while(1){Ys=at<<2;_s=q[Ys+mt>>2];$s=q[it>>2];v:{if((_s|0)>($s|0)){ct=q[nt>>2];q[Ys+ct>>2]=$s;break v}ct=q[nt>>2];Ys=Ys+ct|0;$s=q[pt>>2];if((_s|0)<($s|0)){q[Ys>>2]=$s;break v}q[Ys>>2]=_s}at=at+1|0;_s=q[ht>>2];if((at|0)<(_s|0)){continue}break}Ys=0;if((_s|0)<1){break j}_s=dt<<2;at=_s+Xs|0;dt=Rr+_s|0;while(1){$s=Ys<<2;_s=$s+at|0;$s=q[$s+dt>>2]+q[$s+ct>>2]|0;q[_s>>2]=$s;w:{if(($s|0)>q[it>>2]){$s=$s-q[ot>>2]|0}else{if(($s|0)>=q[pt>>2]){break w}$s=$s+q[ot>>2]|0}q[_s>>2]=$s}Ys=Ys+1|0;if((Ys|0)>2]){continue}break}}Ys=1;et=et+1|0;if((et|0)<(vt|0)){continue}break}}Ye=q[bt>>2];if(Ye){q[bt+4>>2]=Ye;An(Ye)}An(qt);Ye=q[bt+52>>2];if(Ye){q[bt+56>>2]=Ye;An(Ye)}Ye=q[bt+40>>2];if(Ye){q[bt+44>>2]=Ye;An(Ye)}Ye=q[bt+28>>2];if(Ye){q[bt+32>>2]=Ye;An(Ye)}Ye=q[bt+16>>2];if(Ye){q[bt+20>>2]=Ye;An(Ye)}T=bt- -64|0;return Ys|0}bn();F()}function wf(Ye){Ye=Ye|0;var Rr=0,Xs=0;q[Ye>>2]=3584;Rr=q[Ye+76>>2];if(Rr){An(Rr)}Xs=Ye+68|0;Rr=q[Xs>>2];q[Xs>>2]=0;if(Rr){An(Rr)}q[Ye>>2]=3044;Rr=q[Ye+32>>2];if(Rr){q[Ye+36>>2]=Rr;An(Rr)}return Ye|0}function xf(Ye){Ye=Ye|0;var Ys=0,Zs=0;q[Ye>>2]=3584;Ys=q[Ye+76>>2];if(Ys){An(Ys)}Zs=Ye+68|0;Ys=q[Zs>>2];q[Zs>>2]=0;if(Ys){An(Ys)}q[Ye>>2]=3044;Ys=q[Ye+32>>2];if(Ys){q[Ye+36>>2]=Ys;An(Ys)}An(Ye)}function yf(q){q=q|0;return 3}function zf(Ye){Ye=Ye|0;if(!(!q[Ye+60>>2]|!q[Ye+44>>2]|(!q[Ye+48>>2]|!q[Ye+52>>2]))){return q[Ye+56>>2]!=0|0}return 0}function Af(Ye,_s){Ye=Ye|0;_s=_s|0;var zt=0;if(!(q[_s+56>>2]|!_s|r[_s+24|0]!=3)){q[Ye+60>>2]=_s;zt=1}return zt|0}function Bf(Ye,_s){Ye=Ye|0;_s=_s|0;var At=0,Bt=0,Ct=0,Dt=0,Et=0,Ft=0,Gt=0,Ht=0,It=0,Jt=0,Kt=0;Gt=T-32|0;T=Gt;q[Gt+28>>2]=0;a:{b:{if(s[_s+38>>1]<=513){Et=q[_s+12>>2];At=q[_s+20>>2];Ct=q[_s+16>>2];Bt=Ct+4|0;if(Bt>>>0<4){At=At+1|0}Dt=Bt;Bt=At;if((Et|0)<(At|0)?1:(Et|0)<=(At|0)?t[_s+8>>2]>=Dt>>>0?0:1:0){break a}At=Ct+q[_s>>2]|0;At=r[At|0]|r[At+1|0]<<8|(r[At+2|0]<<16|r[At+3|0]<<24);q[Gt+28>>2]=At;q[_s+16>>2]=Dt;q[_s+20>>2]=Bt;break b}if(!tf(1,Gt+28|0,_s)){break a}At=q[Gt+28>>2]}if(!At){break a}Dt=Ye+76|0;uf(Dt,At);It=ah(Gt+8|0);c:{if(!bh(It,_s)){break c}Et=1;while(1){Ct=1<<(Ht&31);Ft=dh(It);Bt=q[Dt>>2]+(Ht>>>3&536870908)|0;Et=Et^Ft;Ft=q[Bt>>2]|Ct;d:{if(!(Et&1)){break d}Ft=q[Bt>>2]&(Ct^-1)}Ct=Ft;Et=Et^1;q[Bt>>2]=Ct;Ht=Ht+1|0;if((At|0)!=(Ht|0)){continue}break}Ht=0;Bt=q[_s+12>>2];Et=Bt;At=q[_s+20>>2];Ct=At;It=q[_s+16>>2];Dt=It+4|0;if(Dt>>>0<4){At=At+1|0}Jt=q[_s+8>>2];Ft=Dt;Dt=At;if((Bt|0)<(At|0)?1:(Bt|0)<=(At|0)?Jt>>>0>=Ft>>>0?0:1:0){break c}Kt=q[_s>>2];At=Kt+It|0;Bt=r[At|0]|r[At+1|0]<<8|(r[At+2|0]<<16|r[At+3|0]<<24);q[_s+16>>2]=Ft;q[_s+20>>2]=Dt;At=Ct;Ct=It+8|0;if(Ct>>>0<8){At=At+1|0}Dt=Ct;Ct=At;if((Et|0)<(At|0)?1:(Et|0)<=(At|0)?Jt>>>0>=Dt>>>0?0:1:0){break c}At=Ft+Kt|0;At=r[At|0]|r[At+1|0]<<8|(r[At+2|0]<<16|r[At+3|0]<<24);q[_s+16>>2]=Dt;q[_s+20>>2]=Ct;if((Bt|0)>(At|0)){break c}q[Ye+16>>2]=At;q[Ye+12>>2]=Bt;_s=Bt;Bt=(At>>31)-((At>>>0<_s>>>0)+(_s>>31)|0)|0;_s=At-_s|0;if(!Bt&_s>>>0>2147483646|Bt>>>0>0){break c}Ht=1;_s=_s+1|0;q[Ye+20>>2]=_s;Bt=Ye+24|0;At=(_s|0)/2|0;q[Bt>>2]=At;q[Ye+28>>2]=0-At;if(_s&1){break c}q[Bt>>2]=At+ -1}}T=Gt+32|0;return Ht|0}function Cf(Ye,_s,Lt,Mt,Nt,Ot){Ye=Ye|0;_s=_s|0;Lt=Lt|0;Mt=Mt|0;Nt=Nt|0;Ot=Ot|0;var Pt=0,Qt=0,Rt=0,St=0,Tt=0,Ut=0,Vt=0,Wt=0,Xt=0,Yt=0,Zt=0,_t=0;q[Ye+64>>2]=Ot;q[Ye+72>>2]=Nt;Ot=Mm((Nt&1073741823)!=(Nt|0)?-1:Nt<<2);Mt=q[Ye+68>>2];q[Ye+68>>2]=Ot;if(Mt){An(Mt)}q[Ye+8>>2]=Nt;Ot=Ye+32|0;Pt=q[Ot>>2];Mt=q[Ye+36>>2]-Pt>>2;a:{if(Mt>>>0>>0){Fa(Ot,Nt-Mt|0);break a}if(Mt>>>0<=Nt>>>0){break a}q[Ye+36>>2]=Pt+(Nt<<2)}b:{Mt=q[Ye+56>>2];Pt=q[Mt+4>>2];Ot=q[Mt>>2];Mt=Pt-Ot|0;if((Mt|0)<1){break b}if((Ot|0)!=(Pt|0)){Zt=Mt>>2;Tt=Ye+8|0;Vt=Ye+16|0;Wt=Ye+32|0;Xt=Ye+20|0;Yt=Ye+12|0;_t=Ye+56|0;while(1){Df(Ye,q[(Rt<<2)+Ot>>2],Lt,Rt);c:{if(q[Tt>>2]<1){break c}Ut=q[Ye+68>>2];Ot=0;while(1){Mt=Ot<<2;Pt=q[Mt+Ut>>2];Qt=q[Vt>>2];d:{if((Pt|0)>(Qt|0)){St=q[Wt>>2];q[Mt+St>>2]=Qt;break d}St=q[Wt>>2];Mt=Mt+St|0;Qt=q[Yt>>2];if((Pt|0)<(Qt|0)){q[Mt>>2]=Qt;break d}q[Mt>>2]=Pt}Ot=Ot+1|0;Pt=q[Tt>>2];if((Ot|0)<(Pt|0)){continue}break}Mt=0;if((Pt|0)<1){break c}Ot=w(Nt,Rt)<<2;Ut=Ot+Lt|0;Qt=_s+Ot|0;while(1){Pt=Mt<<2;Ot=Pt+Ut|0;Pt=q[Pt+Qt>>2]+q[Pt+St>>2]|0;q[Ot>>2]=Pt;e:{if((Pt|0)>q[Vt>>2]){Pt=Pt-q[Xt>>2]|0}else{if((Pt|0)>=q[Yt>>2]){break e}Pt=Pt+q[Xt>>2]|0}q[Ot>>2]=Pt}Mt=Mt+1|0;if((Mt|0)>2]){continue}break}}Rt=Rt+1|0;if((Rt|0)>=(Zt|0)){break b}Mt=q[_t>>2];Ot=q[Mt>>2];if(q[Mt+4>>2]-Ot>>2>>>0>Rt>>>0){continue}break}}cn();F()}return 1}function Df(Ye,_s,Lt,Mt){var Nt=0,Ot=0,$t=0,au=x(0),bu=x(0),cu=x(0),du=0,eu=x(0),fu=x(0),gu=x(0),hu=x(0),iu=x(0),ju=0,ku=0,lu=x(0),mu=x(0),nu=x(0),ou=x(0),pu=x(0),qu=x(0),ru=x(0),su=x(0),tu=0;Nt=T-48|0;T=Nt;du=-1;Ot=-1;a:{if((_s|0)==-1){break a}Ot=_s+1|0;du=(Ot>>>0)%3|0?Ot:_s+ -2|0;Ot=_s+ -1|0;if((_s>>>0)%3){break a}Ot=_s+2|0}$t=q[Ye+52>>2];_s=q[$t>>2];b:{$t=q[$t+4>>2]-_s>>2;ju=q[q[Ye+48>>2]+28>>2];du=q[ju+(du<<2)>>2];if($t>>>0<=du>>>0){break b}tu=$t;$t=q[(Ot<<2)+ju>>2];if(tu>>>0<=$t>>>0){break b}c:{d:{Ot=q[_s+(du<<2)>>2];ju=(Ot|0)>=(Mt|0);if(ju){break d}du=q[_s+($t<<2)>>2];if((du|0)>=(Mt|0)){break d}_s=q[Ye+72>>2];$t=(w(_s,du)<<2)+Lt|0;bu=x(q[$t+4>>2]);_s=(w(_s,Ot)<<2)+Lt|0;iu=x(q[_s+4>>2]);lu=x(q[$t>>2]);ou=x(q[_s>>2]);if(!(lu!=ou|bu!=iu)){Ye=q[Ye+68>>2];_s=Ye;if(x(y(bu))>2]=Lt;if(x(y(lu))>2]=~~lu;break c}q[Ye>>2]=-2147483648;break c}Mt=q[q[Ye+64>>2]+(Mt<<2)>>2];q[Nt+40>>2]=0;q[Nt+32>>2]=0;q[Nt+36>>2]=0;_s=q[Ye+60>>2];if(!r[_s+84|0]){Mt=q[q[_s+68>>2]+(Mt<<2)>>2]}Da(_s,Mt,o[_s+24|0],Nt+32|0);Mt=q[q[Ye+64>>2]+(Ot<<2)>>2];q[Nt+24>>2]=0;q[Nt+16>>2]=0;q[Nt+20>>2]=0;_s=q[Ye+60>>2];if(!r[_s+84|0]){Mt=q[q[_s+68>>2]+(Mt<<2)>>2]}Da(_s,Mt,o[_s+24|0],Nt+16|0);Lt=q[q[Ye+64>>2]+(du<<2)>>2];q[Nt+8>>2]=0;q[Nt>>2]=0;q[Nt+4>>2]=0;_s=q[Ye+60>>2];if(!r[_s+84|0]){Lt=q[q[_s+68>>2]+(Lt<<2)>>2]}Da(_s,Lt,o[_s+24|0],Nt);mu=u[Nt+40>>2];nu=u[Nt+36>>2];eu=u[Nt+32>>2];qu=u[Nt+16>>2];cu=x(u[Nt>>2]-qu);ru=u[Nt+20>>2];fu=x(u[Nt+4>>2]-ru);su=u[Nt+24>>2];gu=x(u[Nt+8>>2]-su);pu=x(x(x(x(cu*cu)+x(0))+x(fu*fu))+x(gu*gu));e:{if(!(pu>x(0))){hu=x(0);if(q[Ye+88>>2]>257){break e}}eu=x(eu-qu);nu=x(nu-ru);mu=x(mu-su);au=x(x(x(x(x(cu*eu)+x(0))+x(fu*nu))+x(gu*mu))/pu);gu=x(mu-x(gu*au));fu=x(nu-x(fu*au));cu=x(eu-x(cu*au));hu=x(E(x(x(x(gu*gu)+x(x(fu*fu)+x(x(cu*cu)+x(0))))/pu)))}eu=hu;Lt=Ye+80|0;_s=q[Lt>>2]+ -1|0;Mt=q[q[Ye+76>>2]+(_s>>>3&536870908)>>2];q[Lt>>2]=_s;cu=x(bu-iu);hu=x(x(cu*au)+iu);iu=x(lu-ou);bu=x(iu*eu);_s=Mt>>>(_s&31)&1;bu=x(hu+(_s?bu:x(-bu)));hu=x(x(iu*au)+ou);au=x(cu*eu);au=x(hu+(_s?x(-au):au));f:{if(((k(au),e(0))&2147483647)>>>0>=2139095041){_s=q[Ye+68>>2];q[_s>>2]=-2147483648;break f}_s=q[Ye+68>>2];Ye=_s;ku=C(+au+.5);g:{if(y(ku)<2147483648){Lt=~~ku;break g}Lt=-2147483648}q[Ye>>2]=Lt}Lt=((k(bu),e(0))&2147483647)>>>0>2139095040;ku=C(+bu+.5);h:{if(y(ku)<2147483648){Ye=~~ku;break h}Ye=-2147483648}q[_s+4>>2]=Lt?-2147483648:Ye;break c}i:{if(!ju){_s=q[Ye+72>>2];Mt=w(Ot,_s);break i}if((Mt|0)<=0){if(q[Ye+72>>2]<1){break c}Lt=q[Ye+68>>2];_s=0;while(1){q[Lt+(_s<<2)>>2]=0;_s=_s+1|0;if((_s|0)>2]){continue}break}break c}_s=q[Ye+72>>2];Mt=w(_s,Mt+ -1|0)}if((_s|0)<1){break c}Ot=q[Ye+68>>2];_s=0;while(1){q[Ot+(_s<<2)>>2]=q[(_s+Mt<<2)+Lt>>2];_s=_s+1|0;if((_s|0)>2]){continue}break}}T=Nt+48|0;return}cn();F()}function Ef(Ye){Ye=Ye|0;var _s=0;q[Ye>>2]=3812;_s=q[Ye+76>>2];if(_s){An(_s)}q[Ye>>2]=3044;_s=q[Ye+32>>2];if(_s){q[Ye+36>>2]=_s;An(_s)}return Ye|0}function Ff(Ye){Ye=Ye|0;var Lt=0;q[Ye>>2]=3812;Lt=q[Ye+76>>2];if(Lt){An(Lt)}q[Ye>>2]=3044;Lt=q[Ye+32>>2];if(Lt){q[Ye+36>>2]=Lt;An(Lt)}An(Ye)}function Gf(q){q=q|0;return 5}function Hf(Ye,Mt){Ye=Ye|0;Mt=Mt|0;var uu=0,vu=0,wu=0,xu=0,yu=0,zu=0,Au=0,Bu=0,Cu=0,Du=0,Eu=0;Bu=T-16|0;T=Bu;wu=q[Mt+12>>2];uu=q[Mt+20>>2];xu=q[Mt+16>>2];vu=xu+4|0;if(vu>>>0<4){uu=uu+1|0}yu=vu;vu=uu;a:{if((wu|0)<(uu|0)?1:(wu|0)<=(uu|0)?t[Mt+8>>2]>=yu>>>0?0:1:0){break a}uu=xu+q[Mt>>2]|0;uu=r[uu|0]|r[uu+1|0]<<8|(r[uu+2|0]<<16|r[uu+3|0]<<24);q[Mt+16>>2]=yu;q[Mt+20>>2]=vu;if((uu|0)<0){break a}uf(Ye+76|0,uu);yu=ah(Bu);b:{if(!bh(yu,Mt)){break b}if((uu|0)>=1){wu=1;while(1){xu=1<<(Au&31);zu=dh(yu);vu=q[Ye+76>>2]+(Au>>>3&536870908)|0;wu=wu^zu;zu=q[vu>>2]|xu;c:{if(!(wu&1)){break c}zu=q[vu>>2]&(xu^-1)}xu=zu;wu=wu^1;q[vu>>2]=xu;Au=Au+1|0;if((uu|0)!=(Au|0)){continue}break}}vu=q[Mt+12>>2];Au=vu;uu=q[Mt+20>>2];wu=uu;yu=q[Mt+16>>2];xu=yu+4|0;if(xu>>>0<4){uu=uu+1|0}Cu=q[Mt+8>>2];zu=xu;xu=uu;if((vu|0)<(uu|0)?1:(vu|0)<=(uu|0)?Cu>>>0>=zu>>>0?0:1:0){break b}Du=q[Mt>>2];uu=Du+yu|0;vu=r[uu|0]|r[uu+1|0]<<8|(r[uu+2|0]<<16|r[uu+3|0]<<24);q[Mt+16>>2]=zu;q[Mt+20>>2]=xu;uu=wu;wu=yu+8|0;if(wu>>>0<8){uu=uu+1|0}xu=wu;wu=uu;if((Au|0)<(uu|0)?1:(Au|0)<=(uu|0)?Cu>>>0>=xu>>>0?0:1:0){break b}uu=zu+Du|0;uu=r[uu|0]|r[uu+1|0]<<8|(r[uu+2|0]<<16|r[uu+3|0]<<24);q[Mt+16>>2]=xu;q[Mt+20>>2]=wu;if((vu|0)>(uu|0)){break b}q[Ye+16>>2]=uu;q[Ye+12>>2]=vu;Mt=vu;vu=(uu>>31)-((uu>>>0>>0)+(Mt>>31)|0)|0;Mt=uu-Mt|0;if(!vu&Mt>>>0>2147483646|vu>>>0>0){break b}Eu=1;Mt=Mt+1|0;q[Ye+20>>2]=Mt;vu=Ye+24|0;uu=(Mt|0)/2|0;q[vu>>2]=uu;q[Ye+28>>2]=0-uu;if(Mt&1){break b}q[vu>>2]=uu+ -1}}T=Bu+16|0;return Eu|0}function If(Ye,Mt,Fu,Gu,Hu,Iu){Ye=Ye|0;Mt=Mt|0;Fu=Fu|0;Gu=Gu|0;Hu=Hu|0;Iu=Iu|0;var Ju=0,Ku=0,Lu=0,Mu=0,Nu=0,Ou=0,Pu=0,Qu=0,Ru=0,Su=0,Tu=0,Uu=0;Gu=0;a:{if((Hu|0)!=2){break a}q[Ye+8>>2]=2;q[Ye- -64>>2]=Iu;Gu=Ye+32|0;Hu=q[Gu>>2];Iu=q[Ye+36>>2]-Hu|0;Ju=Iu>>2;b:{if(Ju>>>0<=1){Fa(Gu,2-Ju|0);break b}if((Iu|0)==8){break b}q[Ye+36>>2]=Hu+8}Gu=1;Hu=q[Ye+56>>2];Iu=q[Hu+4>>2];Hu=q[Hu>>2];Ju=Iu-Hu|0;if((Ju|0)<1){break a}if((Hu|0)!=(Iu|0)){Ru=Ye+60|0;Su=Ju>>2;Ju=Ye+8|0;Nu=Ye+16|0;Ou=Ye+32|0;Pu=Ye+20|0;Qu=Ye+12|0;Tu=Ye+56|0;while(1){if(!Jf(Ru,q[(Lu<<2)+Hu>>2],Fu,Lu)){Gu=0;break a}c:{if(q[Ju>>2]<1){break c}Hu=0;while(1){Gu=Hu<<2;Iu=q[(Gu+Ye|0)+68>>2];Ku=q[Nu>>2];d:{if((Iu|0)>(Ku|0)){Mu=q[Ou>>2];q[Gu+Mu>>2]=Ku;break d}Mu=q[Ou>>2];Gu=Gu+Mu|0;Ku=q[Qu>>2];if((Iu|0)<(Ku|0)){q[Gu>>2]=Ku;break d}q[Gu>>2]=Iu}Hu=Hu+1|0;Gu=q[Ju>>2];if((Hu|0)<(Gu|0)){continue}break}Iu=0;if((Gu|0)<1){break c}Gu=Lu<<3;Ku=Gu+Fu|0;Uu=Mt+Gu|0;while(1){Hu=Iu<<2;Gu=Hu+Ku|0;Hu=q[Hu+Uu>>2]+q[Hu+Mu>>2]|0;q[Gu>>2]=Hu;e:{if((Hu|0)>q[Nu>>2]){Hu=Hu-q[Pu>>2]|0}else{if((Hu|0)>=q[Qu>>2]){break e}Hu=Hu+q[Pu>>2]|0}q[Gu>>2]=Hu}Iu=Iu+1|0;if((Iu|0)>2]){continue}break}}Gu=1;Lu=Lu+1|0;if((Lu|0)>=(Su|0)){break a}Gu=q[Tu>>2];Hu=q[Gu>>2];if(q[Gu+4>>2]-Hu>>2>>>0>Lu>>>0){continue}break}}cn();F()}return Gu|0}function Jf(Ye,Mt,Fu,Gu){var Hu=0,Iu=0,Vu=0,Wu=0,Xu=0,Yu=0,Zu=0,_u=0,$u=0,av=0,bv=0,cv=0,dv=0,ev=0,fv=0,gv=0,hv=0,iv=0,jv=0,kv=0,lv=0,mv=0,nv=0,ov=0,pv=0;Vu=T-80|0;T=Vu;Iu=-1;Hu=-1;a:{if((Mt|0)==-1){break a}Hu=Mt+1|0;Iu=(Hu>>>0)%3|0?Hu:Mt+ -2|0;Hu=Mt+ -1|0;if((Mt>>>0)%3){break a}Hu=Mt+2|0}Wu=q[Ye+36>>2];Mt=q[Wu>>2];b:{c:{d:{e:{f:{Wu=q[Wu+4>>2]-Mt>>2;Xu=Iu<<2;Iu=q[q[Ye+32>>2]+28>>2];Yu=q[Xu+Iu>>2];if(Wu>>>0<=Yu>>>0){break f}Hu=q[Iu+(Hu<<2)>>2];if(Wu>>>0<=Hu>>>0){break f}g:{h:{$u=q[Mt+(Yu<<2)>>2];cv=($u|0)>=(Gu|0);if(cv){break h}Iu=q[Mt+(Hu<<2)>>2];if((Iu|0)>=(Gu|0)){break h}Mt=Iu<<3;hv=q[(Mt|4)+Fu>>2];Hu=$u<<3;av=q[(Hu|4)+Fu>>2];ev=q[Mt+Fu>>2];gv=q[Fu+Hu>>2];if(!((ev|0)!=(gv|0)|(av|0)!=(hv|0))){q[Ye+8>>2]=gv;q[Ye+12>>2]=av;break g}Mt=q[q[Ye+4>>2]+(Gu<<2)>>2];q[Vu+72>>2]=0;q[Vu+76>>2]=0;Hu=Vu- -64|0;q[Hu>>2]=0;q[Hu+4>>2]=0;q[Vu+56>>2]=0;q[Vu+60>>2]=0;Hu=q[Ye>>2];if(!r[Hu+84|0]){Mt=q[q[Hu+68>>2]+(Mt<<2)>>2]}Kf(Hu,Mt,o[Hu+24|0],Vu+56|0);Mt=q[q[Ye+4>>2]+($u<<2)>>2];q[Vu+48>>2]=0;q[Vu+52>>2]=0;q[Vu+40>>2]=0;q[Vu+44>>2]=0;q[Vu+32>>2]=0;q[Vu+36>>2]=0;Hu=q[Ye>>2];if(!r[Hu+84|0]){Mt=q[q[Hu+68>>2]+(Mt<<2)>>2]}Kf(Hu,Mt,o[Hu+24|0],Vu+32|0);Mt=q[q[Ye+4>>2]+(Iu<<2)>>2];q[Vu+24>>2]=0;q[Vu+28>>2]=0;q[Vu+16>>2]=0;q[Vu+20>>2]=0;q[Vu+8>>2]=0;q[Vu+12>>2]=0;Hu=q[Ye>>2];if(!r[Hu+84|0]){Mt=q[q[Hu+68>>2]+(Mt<<2)>>2]}Kf(Hu,Mt,o[Hu+24|0],Vu+8|0);iv=q[Vu+44>>2];Mt=q[Vu+16>>2];Xu=q[Vu+40>>2];Hu=Xu;Iu=q[Vu+20>>2]-(iv+(Mt>>>0>>0)|0)|0;kv=Mt-Hu|0;Mt=$n(kv,Iu,kv,Iu);Hu=V;_u=Mt;jv=q[Vu+36>>2];Mt=q[Vu+8>>2];Zu=q[Vu+32>>2];Yu=Zu;Wu=q[Vu+12>>2]-(jv+(Mt>>>0>>0)|0)|0;lv=Mt-Yu|0;Yu=$n(lv,Wu,lv,Wu);Mt=_u+Yu|0;Hu=V+Hu|0;Hu=Mt>>>0>>0?Hu+1|0:Hu;dv=Mt;nv=q[Vu+52>>2];Mt=q[Vu+24>>2];_u=q[Vu+48>>2];Yu=_u;bv=q[Vu+28>>2]-(nv+(Mt>>>0>>0)|0)|0;mv=Mt-Yu|0;Yu=$n(mv,bv,mv,bv);Mt=dv+Yu|0;Hu=V+Hu|0;fv=Mt;Yu=Mt>>>0>>0?Hu+1|0:Hu;if(!(Mt|Yu)){break h}Gu=1;Mt=0;Hu=q[Vu+64>>2];Fu=q[Vu+68>>2]-((Hu>>>0>>0)+iv|0)|0;Hu=Hu-Xu|0;$u=Hu;cv=Fu;Fu=$n(kv,Iu,Hu,Fu);Hu=V;dv=Fu;Xu=q[Vu+56>>2];Fu=Xu-Zu|0;iv=q[Vu+60>>2]-((Xu>>>0>>0)+jv|0)|0;Zu=$n(Fu,iv,lv,Wu);Xu=dv+Zu|0;Hu=V+Hu|0;Hu=Xu>>>0>>0?Hu+1|0:Hu;dv=Xu;Xu=q[Vu+72>>2];Zu=Xu-_u|0;jv=q[Vu+76>>2]-((Xu>>>0<_u>>>0)+nv|0)|0;_u=$n(Zu,jv,mv,bv);Xu=dv+_u|0;Hu=V+Hu|0;Hu=Xu>>>0<_u>>>0?Hu+1|0:Hu;_u=Xu;Xu=Hu;Iu=ao($n(_u,Hu,kv,Iu),V,fv,Yu);cv=cv-(V+($u>>>0>>0)|0)|0;Iu=$u-Iu|0;Iu=$n(Iu,cv,Iu,cv);$u=V;dv=Iu;Hu=ao($n(lv,Wu,_u,Hu),V,fv,Yu);Iu=iv-(V+(Fu>>>0>>0)|0)|0;Fu=Fu-Hu|0;Iu=$n(Fu,Iu,Fu,Iu);Fu=dv+Iu|0;Hu=V+$u|0;Hu=Fu>>>0>>0?Hu+1|0:Hu;Wu=Fu;Fu=ao($n(_u,Xu,mv,bv),V,fv,Yu);Iu=jv-(V+(Zu>>>0>>0)|0)|0;Fu=Zu-Fu|0;Iu=$n(Fu,Iu,Fu,Iu);Fu=Wu+Iu|0;Hu=V+Hu|0;Iu=$n(Fu,Fu>>>0>>0?Hu+1|0:Hu,fv,Yu);Fu=V;Wu=Fu;if(!Fu&Iu>>>0<=1|Fu>>>0<0){break e}bv=Iu;Fu=Wu;while(1){Hu=Mt<<1|Gu>>>31;Gu=Gu<<1;Mt=Hu;Zu=!Fu&bv>>>0>7|Fu>>>0>0;bv=(Fu&3)<<30|bv>>>2;Fu=Fu>>>2;if(Zu){continue}break}break d}Hu=Ye;if(cv){if((Gu|0)<=0){q[Ye+8>>2]=0;q[Ye+12>>2]=0;break g}Mt=(Gu<<1)+ -2|0}else{Mt=$u<<1}Mt=(Mt<<2)+Fu|0;q[Hu+8>>2]=q[Mt>>2];q[Ye+12>>2]=q[Mt+4>>2]}Fu=1;break b}cn();F()}Gu=Iu;Mt=Wu;if(Iu-1){break c}}while(1){Fu=bo(Iu,Wu,Gu,Mt)+Gu|0;Hu=Mt+V|0;Hu=Fu>>>0>>0?Hu+1|0:Hu;Gu=(Hu&1)<<31|Fu>>>1;Mt=Hu>>>1;Fu=$n(Gu,Mt,Gu,Mt);Hu=V;if((Wu|0)==(Hu|0)&Fu>>>0>Iu>>>0|Hu>>>0>Wu>>>0){continue}break}}Hu=q[Ye+20>>2];Fu=0;if(!Hu){break b}Wu=Hu+ -1|0;bv=q[q[Ye+16>>2]+(Wu>>>3&536870908)>>2];q[Ye+20>>2]=Wu;Fu=hv;Hu=av;Zu=Fu-Hu|0;av=Hu>>31;hv=(Fu>>31)-(av+(Fu>>>0>>0)|0)|0;Fu=$n(_u,Xu,Zu,hv);Iu=V;av=$n(Hu,av,fv,Yu);Fu=av+Fu|0;Hu=V+Iu|0;Hu=Fu>>>0>>0?Hu+1|0:Hu;dv=Fu;Fu=ev;Iu=gv;$u=Fu-Iu|0;gv=Iu>>31;av=(Fu>>31)-(gv+(Fu>>>0>>0)|0)|0;Fu=$n(Gu,Mt,$u,av);ev=Fu;Fu=bv>>>(Wu&31)&1;cv=Fu?0-ev|0:ev;Wu=dv+cv|0;bv=Hu;Hu=V;Hu=bv+(Fu?0-(Hu+(0>>0)|0)|0:Hu)|0;ov=Ye,pv=ao(Wu,Wu>>>0>>0?Hu+1|0:Hu,fv,Yu),q[ov+12>>2]=pv;Hu=$n(_u,Xu,$u,av);Wu=V;ev=Ye;Iu=$n(Iu,gv,fv,Yu);Ye=Iu+Hu|0;Hu=V+Wu|0;Hu=Ye>>>0>>0?Hu+1|0:Hu;Xu=Ye;Ye=$n(Gu,Mt,Zu,hv);Gu=Fu?Ye:0-Ye|0;Mt=Xu+Gu|0;Xu=Hu;Hu=V;Ye=Xu+(Fu?Hu:0-((0>>0)+Hu|0)|0)|0;ov=ev,pv=ao(Mt,Mt>>>0>>0?Ye+1|0:Ye,fv,Yu),q[ov+8>>2]=pv;Fu=1}T=Vu+80|0;return Fu} +function ig(a,b){var c=0,d=0,e=0,f=0,h=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=L-96|0;L=h;i[h+72>>2]=0;i[h+64>>2]=0;i[h+68>>2]=0;i[h+48>>2]=0;i[h+52>>2]=0;i[h+40>>2]=0;i[h+44>>2]=0;i[h+56>>2]=1065353216;i[h+32>>2]=0;i[h+24>>2]=0;i[h+28>>2]=0;A=i[a+124>>2];a:{b:{c:{d:{e:{f:{if((b|0)<1){break f}C=a+400|0;z=a+232|0;D=i[a+216>>2]!=i[a+220>>2];w=1;while(1){m=y;y=m+1|0;g:{h:{i:{j:{k:{if(i[a+420>>2]!=-1){if(Ee(C)){break k}}d=a;q=d;if(j[d+308|0]){p=i[a+296>>2];r=i[a+304>>2];c=p+(r>>>3|0)|0;n=i[a+300>>2];if(c>>>0>=n>>>0){break j}e=j[c|0];c=r+1|0;i[a+304>>2]=c;if(!(e>>>(r&7)&1)){break j}u=c>>>3|0;e=p+u|0;l:{if(e>>>0>=n>>>0){e=c;c=0;break l}f=j[e|0];e=r+2|0;i[a+304>>2]=e;u=e>>>3|0;c=f>>>(c&7)&1}f=p+u|0;if(f>>>0>>0){f=j[f|0];i[a+304>>2]=e+1;d=f>>>(e&7)<<1&2}else{d=0}c=(c|d)<<1|1}else{c=1}i[q+416>>2]=c;break h}c=i[a+420>>2];i[a+416>>2]=c;if(c){break h}break i}i[a+416>>2]=0}e=i[h+68>>2];if((e|0)==i[h+64>>2]){e=-1;break e}t=-1;u=i[a+8>>2];r=i[u+24>>2];c=r;n=e+ -4|0;v=i[n>>2];d=-1;m:{if((v|0)==-1){break m}e=v+1|0;e=(e>>>0)%3|0?e:v+ -2|0;d=-1;if((e|0)==-1){break m}d=i[i[u>>2]+(e<<2)>>2]}e=i[c+(d<<2)>>2];if((e|0)!=-1){c=e+1|0;t=(c>>>0)%3|0?c:e+ -2|0}e=i[u+12>>2];s=o(m,3);c=s+1|0;i[e+(v<<2)>>2]=c;f=c<<2;i[f+e>>2]=v;q=s+2|0;i[e+(t<<2)>>2]=q;m=q<<2;i[m+e>>2]=t;p=-1;c=-1;n:{if((v|0)==-1){break n}e=v+((v>>>0)%3|0?-1:2)|0;c=-1;if((e|0)==-1){break n}c=i[i[u>>2]+(e<<2)>>2]}o:{if((t|0)==-1){break o}e=t+1|0;e=(e>>>0)%3|0?e:t+ -2|0;if((e|0)==-1){break o}p=i[i[u>>2]+(e<<2)>>2]}e=-1;if((c|0)==(d|0)|(d|0)==(p|0)){break e}e=i[u>>2];i[e+(s<<2)>>2]=d;i[e+f>>2]=p;i[e+m>>2]=c;if((c|0)!=-1){i[r+(c<<2)>>2]=q}e=i[a+120>>2]+(d>>>3&536870908)|0;c=i[e>>2];E=e,F=Nn(d)&c,i[E>>2]=F;i[n>>2]=s;jg(z,s);break g}e=-1;p:{q:{r:{s:{t:{u:{v:{w:{x:{switch(c+ -1|0){case 2:case 4:d=i[h+68>>2];if((d|0)==i[h+64>>2]){break e}q=i[a+8>>2];e=i[q+12>>2];s=o(m,3);p=(c|0)==5;n=s+(p?2:1)|0;c=n<<2;u=i[d+ -4>>2];i[e+c>>2]=u;i[e+(u<<2)>>2]=n;bg(q+24|0,11508);e=-1;f=i[a+8>>2];r=i[f+24>>2];if(i[f+28>>2]-r>>2>(A|0)){break e}d=s+2|0;f=i[f>>2];t=f+c|0;e=i[q+28>>2]-i[q+24>>2]|0;c=(e>>2)+ -1|0;i[t>>2]=c;if(e){i[r+(c<<2)>>2]=n}d=p?s:d;e=f+(p+s<<2)|0;y:{z:{A:{if((u|0)!=-1){c=u+((u>>>0)%3|0?-1:2)|0;if((c|0)==-1){break A}c=i[f+(c<<2)>>2];i[f+(d<<2)>>2]=c;if((c|0)==-1){break z}i[r+(c<<2)>>2]=d;break z}i[f+(d<<2)>>2]=-1;d=-1;break y}i[f+(d<<2)>>2]=-1}c=u+1|0;c=(c>>>0)%3|0?c:u+ -2|0;d=-1;if((c|0)==-1){break y}d=i[f+(c<<2)>>2]}i[e>>2]=d;e=i[h+68>>2];i[e+ -4>>2]=s;break w;case 0:p=i[h+68>>2];d=i[h+64>>2];if((p|0)==(d|0)){break e}n=p+ -4|0;t=i[n>>2];i[h+68>>2]=n;s=i[h+44>>2];if(!s){break t}e=i[h+40>>2];q=Mn(s)>>>0>1;f=m&s+2147483647;B:{if(!q){break B}c=m;f=c;if(c>>>0>>0){break B}f=(m>>>0)%(s>>>0)|0}c=i[e+(f<<2)>>2];if(!c){break t}e=i[c>>2];if(!e){break t}r=s+ -1|0;while(1){C:{c=i[e+4>>2];D:{if((m|0)!=(c|0)){E:{if(!q){c=c&r;break E}if(c>>>0>>0){break E}c=(c>>>0)%(s>>>0)|0}if((c|0)!=(f|0)){break t}break D}if((m|0)==i[e+8>>2]){break C}}e=i[e>>2];if(e){continue}break t}break}f=i[h+72>>2];if((f|0)!=(n|0)){i[n>>2]=i[e+12>>2];i[h+68>>2]=p;c=d;break s}q=n-d|0;p=q>>2;r=p+1|0;if(r>>>0>=1073741824){break v}n=f-d|0;f=n>>1;n=n>>2>>>0<536870911?f>>>0>>0?r:f:1073741823;c=0;F:{if(!n){break F}if(n>>>0>=1073741824){break a}c=Gm(n<<2)}f=c+(p<<2)|0;i[f>>2]=i[e+12>>2];e=(n<<2)+c|0;p=f+4|0;if((q|0)>=1){sn(c,d,q)}i[h+72>>2]=e;i[h+68>>2]=p;i[h+64>>2]=c;if(!d){break s}qn(d);p=i[h+68>>2];c=i[h+64>>2];break s;case 6:break x;default:break e}}c=i[a+8>>2];bg(c+24|0,11508);d=i[a+8>>2];s=o(m,3);p=i[c+28>>2]-i[c+24>>2]|0;r=p>>2;f=r+ -1|0;i[i[d>>2]+(s<<2)>>2]=f;bg(d+24|0,11508);n=s+1|0;i[i[d>>2]+(n<<2)>>2]=(i[d+28>>2]-i[d+24>>2]>>2)+ -1;c=i[a+8>>2];bg(c+24|0,11508);d=s+2|0;i[i[c>>2]+(d<<2)>>2]=(i[c+28>>2]-i[c+24>>2]>>2)+ -1;c=i[a+8>>2];q=i[c+24>>2];if(i[c+28>>2]-q>>2>(A|0)){break e}G:{H:{if(!p){i[q+(r<<2)>>2]=n;e=1;break H}i[q+(f<<2)>>2]=s;e=0;if((p|0)==-4){break H}i[q+(r<<2)>>2]=n;e=r+1|0;if((e|0)==-1){break G}}i[q+(e<<2)>>2]=d}c=i[h+68>>2];e=i[h+72>>2];if((c|0)!=(e|0)){i[c>>2]=s;e=c+4|0;i[h+68>>2]=e;break w}r=i[h+64>>2];p=c-r|0;f=p>>2;n=f+1|0;if(n>>>0>=1073741824){break u}d=e-r|0;e=d>>1;d=d>>2>>>0<536870911?e>>>0>>0?n:e:1073741823;c=0;I:{if(!d){break I}if(d>>>0>=1073741824){break a}c=Gm(d<<2)}e=c+(f<<2)|0;i[e>>2]=s;d=c+(d<<2)|0;e=e+4|0;if((p|0)>=1){sn(c,r,p)}i[h+72>>2]=d;i[h+68>>2]=e;i[h+64>>2]=c;if(!r){break w}qn(r);e=i[h+68>>2]}jg(z,i[e+ -4>>2]);e=i[a+40>>2];if((e|0)==i[a+36>>2]){break g}m=(m^-1)+b|0;while(1){c=i[e+ -8>>2];if(c>>>0>m>>>0){break r}if((c|0)!=(m|0)){break g}d=j[e+ -4|0];c=e+ -12|0;e=i[c>>2];i[a+40>>2]=c;if((e|0)<0){break r}f=i[i[h+68>>2]+ -4>>2];i[h+20>>2]=(e^-1)+b;i[h+88>>2]=h+20;cg(h,h+40|0,h+20|0,h+88|0);e=i[h>>2];J:{if(d&1){c=-1;if((f|0)==-1){break J}c=f+1|0;c=(c>>>0)%3|0?c:f+ -2|0;break J}c=-1;if((f|0)==-1){break J}c=f+ -1|0;if((f>>>0)%3|0){break J}c=f+2|0}i[e+12>>2]=c;e=i[a+40>>2];if((e|0)!=i[a+36>>2]){continue}break}break g}Vm();x()}Vm();x()}p=n;c=d}if((c|0)==(p|0)){break r}v=i[p+ -4>>2];e=(v|0)==-1;u=i[a+8>>2];if(i[i[u+12>>2]+(v<<2)>>2]!=-1?!e:0){break r}f=(t|0)==-1;s=i[u+12>>2];if(i[s+(t<<2)>>2]!=-1?!f:0){break r}q=o(m,3);n=q+2|0;i[s+(v<<2)>>2]=n;r=n<<2;i[r+s>>2]=v;c=q+1|0;i[s+(t<<2)>>2]=c;m=c<<2;i[s+m>>2]=t;if(e){break q}B=-1;w=-1;d=i[u>>2];e=d+(q<<2)|0;c=v+((v>>>0)%3|0?-1:2)|0;if((c|0)!=-1){w=i[(c<<2)+d>>2]}i[e>>2]=w;c=v+1|0;c=(c>>>0)%3|0?c:v+ -2|0;if((c|0)==-1){break p}B=i[(c<<2)+d>>2];break p}e=-1;if(w&1){break e}break f}w=-1;d=i[u>>2];i[d+(q<<2)>>2]=-1;B=-1}i[d+m>>2]=B;K:{L:{M:{if(!f){c=t+((t>>>0)%3|0?-1:2)|0;if((c|0)==-1){break M}c=i[(c<<2)+d>>2];i[d+r>>2]=c;if((c|0)==-1){break L}i[i[u+24>>2]+(c<<2)>>2]=n;break L}i[d+r>>2]=-1;B=-1;e=-1;break K}i[d+r>>2]=-1}B=-1;c=t+1|0;c=(c>>>0)%3|0?c:t+ -2|0;e=-1;if((c|0)==-1){break K}B=i[(c<<2)+d>>2];e=c}f=i[a+388>>2];m=w<<2;c=f+m|0;n=c;r=i[c>>2];c=B<<2;i[n>>2]=r+i[c+f>>2];f=c;c=i[u+24>>2];f=f+c|0;if((w|0)!=-1){i[c+m>>2]=i[f>>2]}N:{if((e|0)==-1){break N}while(1){i[(e<<2)+d>>2]=w;c=e+1|0;c=(c>>>0)%3|0?c:e+ -2|0;if((c|0)==-1){break N}e=i[s+(c<<2)>>2];if((e|0)==-1){break N}c=e+1|0;e=(c>>>0)%3|0?c:e+ -2|0;if((e|0)!=-1){continue}break}}i[f>>2]=-1;O:{if(D){break O}c=i[h+28>>2];e=i[h+32>>2];if((c|0)!=(e|0)){i[c>>2]=B;i[h+28>>2]=c+4;break O}P:{r=i[h+24>>2];n=c-r|0;m=n>>2;f=m+1|0;if(f>>>0<1073741824){d=e-r|0;e=d>>1;d=d>>2>>>0<536870911?e>>>0>>0?f:e:1073741823;c=0;Q:{if(!d){break Q}if(d>>>0>=1073741824){break P}c=Gm(d<<2)}e=c+(m<<2)|0;i[e>>2]=B;d=c+(d<<2)|0;e=e+4|0;if((n|0)>=1){sn(c,r,n)}i[h+32>>2]=d;i[h+28>>2]=e;i[h+24>>2]=c;if(!r){break O}qn(r);p=i[h+68>>2];break O}Vm();x()}break a}i[p+ -4>>2]=q;jg(z,q)}w=(y|0)<(b|0);if((b|0)!=(y|0)){continue}break}y=b}e=-1;w=i[a+8>>2];if(i[w+28>>2]-i[w+24>>2]>>2>(A|0)){break e}c=i[h+68>>2];if((c|0)!=i[h+64>>2]){C=a+72|0;b=a+60|0;r=a+312|0;while(1){c=c+ -4|0;z=i[c>>2];i[h+68>>2]=c;R:{S:{T:{U:{if(k[a+270>>1]<=513){if(!j[a+364|0]){break T}d=i[a+360>>2];c=i[a+352>>2]+(d>>>3|0)|0;if(c>>>0>=l[a+356>>2]){break S}c=j[c|0];i[a+360>>2]=d+1;c=c>>>(d&7)&1;break U}c=Ee(r)}if(!c){break S}}p=i[a+8>>2];v=i[p>>2];if((y|0)>=((i[p+4>>2]-v>>2>>>0)/3|0)){break e}m=-1;t=-1;n=i[p+24>>2];f=n;c=-1;V:{if((z|0)==-1){break V}d=z+1|0;d=(d>>>0)%3|0?d:z+ -2|0;c=-1;if((d|0)==-1){break V}c=i[v+(d<<2)>>2]}f=i[f+(c<<2)>>2];W:{if((f|0)==-1){break W}d=f+1|0;d=(d>>>0)%3|0?d:f+ -2|0;if((d|0)==-1){break W}m=d+1|0;m=(m>>>0)%3|0?m:d+ -2|0;if((m|0)!=-1){t=i[v+(m<<2)>>2]}m=d}u=-1;D=-1;n=i[n+(t<<2)>>2];f=-1;X:{if((n|0)==-1){break X}d=n+1|0;d=(d>>>0)%3|0?d:n+ -2|0;f=-1;if((d|0)==-1){break X}f=d+1|0;f=(f>>>0)%3|0?f:d+ -2|0;if((f|0)!=-1){D=i[v+(f<<2)>>2]}f=d}A=i[p+12>>2];s=o(y,3);p=s<<2;i[A+p>>2]=z;i[A+(z<<2)>>2]=s;z=s+1|0;n=z<<2;i[n+A>>2]=m;i[A+(m<<2)>>2]=z;q=s+2|0;d=q<<2;i[d+A>>2]=f;i[A+(f<<2)>>2]=q;i[p+v>>2]=t;n=n+v|0;i[n>>2]=D;f=d+v|0;i[f>>2]=c;p=i[a+120>>2];m=z>>>0>>0?-1:t;d=p+(m>>>3&536870908)|0;c=i[d>>2];E=d,F=Nn(m)&c,i[E>>2]=F;u=(z|0)!=-1?i[n>>2]:u;d=p+(u>>>3&536870908)|0;c=i[d>>2];E=d,F=Nn(u)&c,i[E>>2]=F;c=-1;c=(q|0)!=-1?i[f>>2]:c;m=p+(c>>>3&536870908)|0;d=i[m>>2];E=m,F=Nn(c)&d,i[E>>2]=F;c=i[a+64>>2];f=i[a+68>>2];if((c|0)==f<<5){if((c+1|0)<=-1){break c}d=b;if(c>>>0<=1073741822){m=c+32&-32;c=f<<6;c=c>>>0>>0?m:c}else{c=2147483647}Sc(d,c);c=i[a+64>>2]}y=y+1|0;i[a+64>>2]=c+1;d=i[a+60>>2]+(c>>>3&536870908)|0;i[d>>2]=i[d>>2]|1<<(c&31);c=i[a+76>>2];d=i[a+80>>2];if((c|0)!=(d|0)){i[c>>2]=s;i[a+76>>2]=c+4;break R}q=i[C>>2];p=c-q|0;f=p>>2;n=f+1|0;if(n>>>0>=1073741824){break b}m=d-q|0;d=m>>1;m=m>>2>>>0<536870911?d>>>0>>0?n:d:1073741823;c=0;Y:{if(!m){break Y}if(m>>>0>=1073741824){break a}c=Gm(m<<2)}d=c+(f<<2)|0;i[d>>2]=s;m=c+(m<<2)|0;d=d+4|0;if((p|0)>=1){sn(c,q,p)}i[a+80>>2]=m;i[a+76>>2]=d;i[a+72>>2]=c;if(!q){break R}qn(q);break R}d=i[a+64>>2];f=i[a+68>>2];if((d|0)==f<<5){if((d+1|0)<=-1){break c}c=b;if(d>>>0<=1073741822){m=d+32&-32;d=f<<6;d=d>>>0>>0?m:d}else{d=2147483647}Sc(c,d);d=i[a+64>>2]}i[a+64>>2]=d+1;m=i[a+60>>2]+(d>>>3&536870908)|0;c=i[m>>2];E=m,F=Nn(d)&c,i[E>>2]=F;c=i[a+76>>2];d=i[a+80>>2];if((c|0)!=(d|0)){i[c>>2]=z;i[a+76>>2]=c+4;break R}q=i[C>>2];p=c-q|0;f=p>>2;n=f+1|0;if(n>>>0>=1073741824){break b}m=d-q|0;d=m>>1;m=m>>2>>>0<536870911?d>>>0>>0?n:d:1073741823;c=0;Z:{if(!m){break Z}if(m>>>0>=1073741824){break a}c=Gm(m<<2)}d=c+(f<<2)|0;i[d>>2]=z;m=c+(m<<2)|0;d=d+4|0;if((p|0)>=1){sn(c,q,p)}i[a+80>>2]=m;i[a+76>>2]=d;i[a+72>>2]=c;if(!q){break R}qn(q)}c=i[h+68>>2];if((c|0)!=i[h+64>>2]){continue}break}w=i[a+8>>2]}if(((i[w+4>>2]-i[w>>2]>>2>>>0)/3|0)!=(y|0)){break e}e=i[w+28>>2]-i[w+24>>2]>>2;t=i[h+24>>2];m=i[h+28>>2];if((t|0)==(m|0)){break d}while(1){f=i[t>>2];c=i[w+24>>2];y=e+ -1|0;_:{if(i[c+(y<<2)>>2]!=-1){d=e;break _}c=i[w+24>>2];while(1){y=e+ -2|0;d=e+ -1|0;e=d;if(i[(y<<2)+c>>2]==-1){continue}break}}if(!(y>>>0>>0)){i[h>>2]=w;b=y<<2;c=i[b+c>>2];g[h+12|0]=1;i[h+8>>2]=c;i[h+4>>2]=c;n=b;if((c|0)!=-1){i[i[w>>2]+(c<<2)>>2]=f;Ld(h);e=i[h+8>>2];if((e|0)!=-1){while(1){i[i[i[a+8>>2]>>2]+(e<<2)>>2]=f;Ld(h);e=i[h+8>>2];if((e|0)!=-1){continue}break}}w=i[a+8>>2]}b=i[w+24>>2];c=n+b|0;if((f|0)!=-1){i[b+(f<<2)>>2]=i[c>>2]}i[c>>2]=-1;n=1<<(f&31);b=i[a+120>>2];e=b+(f>>>3&536870908)|0;c=e;f=b+(y>>>3&536870908)|0;b=1<<(y&31);y=n|i[e>>2];$:{if(i[f>>2]&b){break $}y=i[e>>2]&(n^-1)}i[c>>2]=y;i[f>>2]=i[f>>2]&(b^-1);d=d+ -1|0}e=d;t=t+4|0;if((m|0)!=(t|0)){continue}break}}t=i[h+24>>2]}if(t){i[h+28>>2]=t;qn(t)}a=i[h+48>>2];if(a){while(1){b=i[a>>2];qn(a);a=b;if(a){continue}break}}a=i[h+40>>2];i[h+40>>2]=0;if(a){qn(a)}a=i[h+64>>2];if(a){i[h+68>>2]=a;qn(a)}L=h+96|0;return e}Vm();x()}Vm();x()}Da(12220);x()}function pn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=L-16|0;L=p;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{if(a>>>0<=244){g=i[4333];f=a>>>0<11?16:a+11&-8;a=f>>>3|0;b=g>>>a|0;if(b&3){c=a+((b^-1)&1)|0;f=c<<3;b=i[f+17380>>2];a=b+8|0;d=i[b+8>>2];f=f+17372|0;m:{if((d|0)==(f|0)){q=17332,r=Nn(c)&g,i[q>>2]=r;break m}i[d+12>>2]=f;i[f+8>>2]=d}c=c<<3;i[b+4>>2]=c|3;b=b+c|0;i[b+4>>2]=i[b+4>>2]|1;break a}k=i[4335];if(f>>>0<=k>>>0){break l}if(b){b=b<>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;c=(c|b)+(a>>>b|0)|0;d=c<<3;b=i[d+17380>>2];a=i[b+8>>2];d=d+17372|0;n:{if((a|0)==(d|0)){g=Nn(c)&g;i[4333]=g;break n}i[a+12>>2]=d;i[d+8>>2]=a}a=b+8|0;i[b+4>>2]=f|3;e=b+f|0;c=c<<3;f=c-f|0;i[e+4>>2]=f|1;i[b+c>>2]=f;if(k){c=k>>>3|0;b=(c<<3)+17372|0;d=i[4338];c=1<>2]}i[b+8>>2]=d;i[c+12>>2]=d;i[d+12>>2]=b;i[d+8>>2]=c}i[4338]=e;i[4335]=f;break a}n=i[4334];if(!n){break l}a=(n&0-n)+ -1|0;b=a>>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;b=i[((c|b)+(a>>>b|0)<<2)+17636>>2];e=(i[b+4>>2]&-8)-f|0;c=b;while(1){p:{a=i[c+16>>2];if(!a){a=i[c+20>>2];if(!a){break p}}d=(i[a+4>>2]&-8)-f|0;c=d>>>0>>0;e=c?d:e;b=c?a:b;c=a;continue}break}o=b+f|0;if(o>>>0<=b>>>0){break k}m=i[b+24>>2];d=i[b+12>>2];if((d|0)!=(b|0)){a=i[b+8>>2];i[a+12>>2]=d;i[d+8>>2]=a;break b}c=b+20|0;a=i[c>>2];if(!a){a=i[b+16>>2];if(!a){break j}c=b+16|0}while(1){h=c;d=a;c=a+20|0;a=i[c>>2];if(a){continue}c=d+16|0;a=i[d+16>>2];if(a){continue}break}i[h>>2]=0;break b}f=-1;if(a>>>0>4294967231){break l}a=a+11|0;f=a&-8;k=i[4334];if(!k){break l}h=31;e=0-f|0;if(f>>>0<=16777215){b=a>>>8|0;a=b+1048320>>>16&8;c=b<>>16&4;g=c<>>16&2;a=(g<>>15|0)-(c|(a|b))|0;h=(a<<1|f>>>a+21&1)+28|0}c=i[(h<<2)+17636>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=f<<((h|0)==31?0:25-(h>>>1|0)|0);while(1){t:{g=(i[c+4>>2]&-8)-f|0;if(g>>>0>=e>>>0){break t}d=c;e=g;if(e){break t}e=0;a=c;break r}g=i[c+20>>2];c=i[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|d)){a=2<>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;a=i[((c|b)+(a>>>b|0)<<2)+17636>>2]}if(!a){break q}}while(1){c=(i[a+4>>2]&-8)-f|0;b=c>>>0>>0;e=b?c:e;d=b?a:d;b=i[a+16>>2];if(b){a=b}else{a=i[a+20>>2]}if(a){continue}break}}if(!d|e>>>0>=i[4335]-f>>>0){break l}h=d+f|0;if(h>>>0<=d>>>0){break k}m=i[d+24>>2];b=i[d+12>>2];if((d|0)!=(b|0)){a=i[d+8>>2];i[a+12>>2]=b;i[b+8>>2]=a;break c}c=d+20|0;a=i[c>>2];if(!a){a=i[d+16>>2];if(!a){break i}c=d+16|0}while(1){g=c;b=a;c=a+20|0;a=i[c>>2];if(a){continue}c=b+16|0;a=i[b+16>>2];if(a){continue}break}i[g>>2]=0;break c}b=i[4335];if(b>>>0>=f>>>0){a=i[4338];c=b-f|0;u:{if(c>>>0>=16){i[4335]=c;d=a+f|0;i[4338]=d;i[d+4>>2]=c|1;i[a+b>>2]=c;i[a+4>>2]=f|3;break u}i[4338]=0;i[4335]=0;i[a+4>>2]=b|3;b=a+b|0;i[b+4>>2]=i[b+4>>2]|1}a=a+8|0;break a}d=i[4336];if(d>>>0>f>>>0){b=d-f|0;i[4336]=b;a=i[4339];c=a+f|0;i[4339]=c;i[c+4>>2]=b|1;i[a+4>>2]=f|3;a=a+8|0;break a}a=0;e=f+47|0;c=e;if(i[4451]){b=i[4453]}else{i[4454]=-1;i[4455]=-1;i[4452]=4096;i[4453]=4096;i[4451]=p+12&-16^1431655768;i[4456]=0;i[4444]=0;b=4096}g=c+b|0;h=0-b|0;c=g&h;if(c>>>0<=f>>>0){break a}b=i[4443];if(b){k=i[4441];m=k+c|0;if(m>>>0<=k>>>0|m>>>0>b>>>0){break a}}if(j[17776]&4){break f}v:{w:{b=i[4339];if(b){a=17780;while(1){k=i[a>>2];if(k+i[a+4>>2]>>>0>b>>>0?k>>>0<=b>>>0:0){break w}a=i[a+8>>2];if(a){continue}break}}b=rn(0);if((b|0)==-1){break g}g=c;a=i[4452];d=a+ -1|0;if(d&b){g=(c-b|0)+(b+d&0-a)|0}if(g>>>0<=f>>>0|g>>>0>2147483646){break g}a=i[4443];if(a){d=i[4441];h=d+g|0;if(h>>>0<=d>>>0|h>>>0>a>>>0){break g}}a=rn(g);if((b|0)!=(a|0)){break v}break e}g=h&g-d;if(g>>>0>2147483646){break g}b=rn(g);if((b|0)==(i[a>>2]+i[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|f+48>>>0<=g>>>0)){b=i[4453];b=b+(e-g|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((rn(b)|0)!=-1){g=b+g|0;b=a;break e}rn(0-g|0);break g}b=a;if((a|0)!=-1){break e}break g}x()}d=0;break b}b=0;break c}if((b|0)!=-1){break e}}i[4444]=i[4444]|4}if(c>>>0>2147483646){break d}b=rn(c);a=rn(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}g=a-b|0;if(g>>>0<=f+40>>>0){break d}}a=i[4441]+g|0;i[4441]=a;if(a>>>0>l[4442]){i[4442]=a}x:{y:{z:{e=i[4339];if(e){a=17780;while(1){c=i[a>>2];d=i[a+4>>2];if((c+d|0)==(b|0)){break z}a=i[a+8>>2];if(a){continue}break}break y}a=i[4337];if(!(b>>>0>=a>>>0?a:0)){i[4337]=b}a=0;i[4446]=g;i[4445]=b;i[4341]=-1;i[4342]=i[4451];i[4448]=0;while(1){c=a<<3;d=c+17372|0;i[c+17380>>2]=d;i[c+17384>>2]=d;a=a+1|0;if((a|0)!=32){continue}break}a=g+ -40|0;c=b+8&7?-8-b&7:0;d=a-c|0;i[4336]=d;c=b+c|0;i[4339]=c;i[c+4>>2]=d|1;i[(a+b|0)+4>>2]=40;i[4340]=i[4455];break x}if(j[a+12|0]&8|b>>>0<=e>>>0|c>>>0>e>>>0){break y}i[a+4>>2]=d+g;a=e+8&7?-8-e&7:0;b=a+e|0;i[4339]=b;c=i[4336]+g|0;a=c-a|0;i[4336]=a;i[b+4>>2]=a|1;i[(c+e|0)+4>>2]=40;i[4340]=i[4455];break x}d=i[4337];if(b>>>0>>0){i[4337]=b;d=0}c=b+g|0;a=17780;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=i[a>>2]){a=i[a+8>>2];if(a){continue}break F}break}if(!(j[a+12|0]&8)){break E}}a=17780;while(1){c=i[a>>2];if(c>>>0<=e>>>0){d=c+i[a+4>>2]|0;if(d>>>0>e>>>0){break D}}a=i[a+8>>2];continue}}i[a>>2]=b;i[a+4>>2]=i[a+4>>2]+g;m=(b+8&7?-8-b&7:0)+b|0;i[m+4>>2]=f|3;b=c+(c+8&7?-8-c&7:0)|0;a=(b-m|0)-f|0;h=f+m|0;if((b|0)==(e|0)){i[4339]=h;a=i[4336]+a|0;i[4336]=a;i[h+4>>2]=a|1;break B}if(i[4338]==(b|0)){i[4338]=h;a=i[4335]+a|0;i[4335]=a;i[h+4>>2]=a|1;i[a+h>>2]=a;break B}c=i[b+4>>2];if((c&3)==1){n=c&-8;G:{if(c>>>0<=255){f=c>>>3|0;c=i[b+8>>2];d=i[b+12>>2];if((d|0)==(c|0)){q=17332,r=i[4333]&Nn(f),i[q>>2]=r;break G}i[c+12>>2]=d;i[d+8>>2]=c;break G}k=i[b+24>>2];g=i[b+12>>2];H:{if((g|0)!=(b|0)){c=i[b+8>>2];i[c+12>>2]=g;i[g+8>>2]=c;break H}I:{e=b+20|0;f=i[e>>2];if(f){break I}e=b+16|0;f=i[e>>2];if(f){break I}g=0;break H}while(1){c=e;g=f;e=f+20|0;f=i[e>>2];if(f){continue}e=g+16|0;f=i[g+16>>2];if(f){continue}break}i[c>>2]=0}if(!k){break G}c=i[b+28>>2];d=(c<<2)+17636|0;J:{if(i[d>>2]==(b|0)){i[d>>2]=g;if(g){break J}q=17336,r=i[4334]&Nn(c),i[q>>2]=r;break G}i[k+(i[k+16>>2]==(b|0)?16:20)>>2]=g;if(!g){break G}}i[g+24>>2]=k;c=i[b+16>>2];if(c){i[g+16>>2]=c;i[c+24>>2]=g}c=i[b+20>>2];if(!c){break G}i[g+20>>2]=c;i[c+24>>2]=g}b=b+n|0;a=a+n|0}i[b+4>>2]=i[b+4>>2]&-2;i[h+4>>2]=a|1;i[a+h>>2]=a;if(a>>>0<=255){b=a>>>3|0;a=(b<<3)+17372|0;c=i[4333];b=1<>2]}i[a+8>>2]=h;i[b+12>>2]=h;i[h+12>>2]=a;i[h+8>>2]=b;break B}e=31;if(a>>>0<=16777215){c=a>>>8|0;b=c+1048320>>>16&8;d=c<>>16&4;f=d<>>16&2;b=(f<>>15|0)-(d|(b|c))|0;e=(b<<1|a>>>b+21&1)+28|0}i[h+28>>2]=e;i[h+16>>2]=0;i[h+20>>2]=0;b=(e<<2)+17636|0;c=i[4334];d=1<>2]=h;i[h+24>>2]=b;break L}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=i[b>>2];while(1){c=b;if((i[b+4>>2]&-8)==(a|0)){break C}b=e>>>29|0;e=e<<1;d=(c+(b&4)|0)+16|0;b=i[d>>2];if(b){continue}break}i[d>>2]=h;i[h+24>>2]=c}i[h+12>>2]=h;i[h+8>>2]=h;break B}a=g+ -40|0;c=b+8&7?-8-b&7:0;h=a-c|0;i[4336]=h;c=b+c|0;i[4339]=c;i[c+4>>2]=h|1;i[(a+b|0)+4>>2]=40;i[4340]=i[4455];a=(d+(d+ -39&7?39-d&7:0)|0)+ -47|0;c=a>>>0>>0?e:a;i[c+4>>2]=27;a=i[4448];i[c+16>>2]=i[4447];i[c+20>>2]=a;a=i[4446];i[c+8>>2]=i[4445];i[c+12>>2]=a;i[4447]=c+8;i[4446]=g;i[4445]=b;i[4448]=0;a=c+24|0;while(1){i[a+4>>2]=7;b=a+8|0;a=a+4|0;if(d>>>0>b>>>0){continue}break}if((c|0)==(e|0)){break x}i[c+4>>2]=i[c+4>>2]&-2;d=c-e|0;i[e+4>>2]=d|1;i[c>>2]=d;if(d>>>0<=255){b=d>>>3|0;a=(b<<3)+17372|0;c=i[4333];b=1<>2]}i[a+8>>2]=e;i[b+12>>2]=e;i[e+12>>2]=a;i[e+8>>2]=b;break x}a=31;i[e+16>>2]=0;i[e+20>>2]=0;if(d>>>0<=16777215){b=d>>>8|0;a=b+1048320>>>16&8;c=b<>>16&4;g=c<>>16&2;a=(g<>>15|0)-(c|(a|b))|0;a=(a<<1|d>>>a+21&1)+28|0}i[e+28>>2]=a;b=(a<<2)+17636|0;c=i[4334];g=1<>2]=e;i[e+24>>2]=b;break N}a=d<<((a|0)==31?0:25-(a>>>1|0)|0);b=i[b>>2];while(1){c=b;if((d|0)==(i[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;g=(c+(b&4)|0)+16|0;b=i[g>>2];if(b){continue}break}i[g>>2]=e;i[e+24>>2]=c}i[e+12>>2]=e;i[e+8>>2]=e;break x}a=i[c+8>>2];i[a+12>>2]=h;i[c+8>>2]=h;i[h+24>>2]=0;i[h+12>>2]=c;i[h+8>>2]=a}a=m+8|0;break a}a=i[c+8>>2];i[a+12>>2]=e;i[c+8>>2]=e;i[e+24>>2]=0;i[e+12>>2]=c;i[e+8>>2]=a}a=i[4336];if(a>>>0<=f>>>0){break d}b=a-f|0;i[4336]=b;a=i[4339];c=a+f|0;i[4339]=c;i[c+4>>2]=b|1;i[a+4>>2]=f|3;a=a+8|0;break a}i[4312]=48;a=0;break a}O:{if(!m){break O}a=i[d+28>>2];c=(a<<2)+17636|0;P:{if(i[c>>2]==(d|0)){i[c>>2]=b;if(b){break P}k=Nn(a)&k;i[4334]=k;break O}i[m+(i[m+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break O}}i[b+24>>2]=m;a=i[d+16>>2];if(a){i[b+16>>2]=a;i[a+24>>2]=b}a=i[d+20>>2];if(!a){break O}i[b+20>>2]=a;i[a+24>>2]=b}Q:{if(e>>>0<=15){a=e+f|0;i[d+4>>2]=a|3;a=a+d|0;i[a+4>>2]=i[a+4>>2]|1;break Q}i[d+4>>2]=f|3;i[h+4>>2]=e|1;i[e+h>>2]=e;if(e>>>0<=255){b=e>>>3|0;a=(b<<3)+17372|0;c=i[4333];b=1<>2]}i[a+8>>2]=h;i[b+12>>2]=h;i[h+12>>2]=a;i[h+8>>2]=b;break Q}a=31;if(e>>>0<=16777215){b=e>>>8|0;a=b+1048320>>>16&8;c=b<>>16&4;f=c<>>16&2;a=(f<>>15|0)-(c|(a|b))|0;a=(a<<1|e>>>a+21&1)+28|0}i[h+28>>2]=a;i[h+16>>2]=0;i[h+20>>2]=0;b=(a<<2)+17636|0;S:{c=1<>2]=h;break T}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);f=i[b>>2];while(1){b=f;if((i[b+4>>2]&-8)==(e|0)){break S}c=a>>>29|0;a=a<<1;c=(b+(c&4)|0)+16|0;f=i[c>>2];if(f){continue}break}i[c>>2]=h}i[h+24>>2]=b;i[h+12>>2]=h;i[h+8>>2]=h;break Q}a=i[b+8>>2];i[a+12>>2]=h;i[b+8>>2]=h;i[h+24>>2]=0;i[h+12>>2]=b;i[h+8>>2]=a}a=d+8|0;break a}U:{if(!m){break U}a=i[b+28>>2];c=(a<<2)+17636|0;V:{if(i[c>>2]==(b|0)){i[c>>2]=d;if(d){break V}q=17336,r=Nn(a)&n,i[q>>2]=r;break U}i[(i[m+16>>2]==(b|0)?16:20)+m>>2]=d;if(!d){break U}}i[d+24>>2]=m;a=i[b+16>>2];if(a){i[d+16>>2]=a;i[a+24>>2]=d}a=i[b+20>>2];if(!a){break U}i[d+20>>2]=a;i[a+24>>2]=d}W:{if(e>>>0<=15){a=e+f|0;i[b+4>>2]=a|3;a=a+b|0;i[a+4>>2]=i[a+4>>2]|1;break W}i[b+4>>2]=f|3;i[o+4>>2]=e|1;i[e+o>>2]=e;if(k){c=k>>>3|0;a=(c<<3)+17372|0;d=i[4338];c=1<>2]}i[a+8>>2]=d;i[c+12>>2]=d;i[d+12>>2]=a;i[d+8>>2]=c}i[4338]=o;i[4335]=e}a=b+8|0}L=p+16|0;return a|0}function Xf(a,b){var c=0,d=0,e=0,f=0,h=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=L-96|0;L=m;i[m+72>>2]=0;i[m+64>>2]=0;i[m+68>>2]=0;i[m+48>>2]=0;i[m+52>>2]=0;i[m+40>>2]=0;i[m+44>>2]=0;i[m+56>>2]=1065353216;i[m+32>>2]=0;i[m+24>>2]=0;i[m+28>>2]=0;A=i[a+124>>2];a:{b:{c:{d:{e:{f:{g:{h:{if((b|0)<1){break h}C=i[a+216>>2]!=i[a+220>>2];r=1;while(1){f=w;w=f+1|0;i:{j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{if(!j[a+308|0]){break s}t:{u:{n=i[a+296>>2];s=i[a+304>>2];c=n+(s>>>3|0)|0;h=i[a+300>>2];if(c>>>0>=h>>>0){break u}d=j[c|0];c=s+1|0;i[a+304>>2]=c;if(!(d>>>(s&7)&1)){break u}p=c>>>3|0;d=n+p|0;v:{if(d>>>0>=h>>>0){d=c;c=0;break v}e=j[d|0];d=s+2|0;i[a+304>>2]=d;p=d>>>3|0;c=e>>>(c&7)&1}e=n+p|0;if(e>>>0>>0){e=j[e|0];i[a+304>>2]=d+1;d=e>>>(d&7)<<1&2}else{d=0}c=(c|d)<<1;switch(c-1|0){case 0:case 2:case 4:break b;case 5:break r;case 1:case 3:break t;default:break s}}d=i[m+68>>2];if((d|0)==i[m+64>>2]){d=-1;break g}y=-1;u=i[a+8>>2];s=i[u+24>>2];c=s;p=d+ -4|0;r=i[p>>2];e=-1;w:{if((r|0)==-1){break w}d=r+1|0;d=(d>>>0)%3|0?d:r+ -2|0;e=-1;if((d|0)==-1){break w}e=i[i[u>>2]+(d<<2)>>2]}d=i[c+(e<<2)>>2];if((d|0)!=-1){c=d+1|0;y=(c>>>0)%3|0?c:d+ -2|0}d=i[u+12>>2];q=o(f,3);c=q+1|0;i[d+(r<<2)>>2]=c;n=c<<2;i[n+d>>2]=r;t=q+2|0;i[d+(y<<2)>>2]=t;f=t<<2;i[f+d>>2]=y;h=-1;c=-1;x:{if((r|0)==-1){break x}d=r+((r>>>0)%3|0?-1:2)|0;c=-1;if((d|0)==-1){break x}c=i[i[u>>2]+(d<<2)>>2]}y:{if((y|0)==-1){break y}d=y+1|0;d=(d>>>0)%3|0?d:y+ -2|0;if((d|0)==-1){break y}h=i[i[u>>2]+(d<<2)>>2]}d=-1;if((c|0)==(e|0)|(e|0)==(h|0)){break g}d=i[u>>2];i[d+(q<<2)>>2]=e;i[d+n>>2]=h;i[d+f>>2]=c;if((c|0)!=-1){i[s+(c<<2)>>2]=t}d=i[a+120>>2]+(e>>>3&536870908)|0;c=i[d>>2];D=d,E=Nn(e)&c,i[D>>2]=E;i[p>>2]=q;break i}e=i[m+68>>2];if((e|0)==i[m+64>>2]){d=-1;break g}t=i[a+8>>2];d=i[t+12>>2];q=o(f,3);p=(c|1)==5;n=q+(p?2:1)|0;c=n<<2;u=i[e+ -4>>2];i[d+c>>2]=u;i[d+(u<<2)>>2]=n;bg(t+24|0,11508);d=-1;h=i[a+8>>2];s=i[h+24>>2];if(i[h+28>>2]-s>>2>(A|0)){break g}e=q+2|0;h=i[h>>2];v=h+c|0;d=i[t+28>>2]-i[t+24>>2]|0;c=(d>>2)+ -1|0;i[v>>2]=c;if(d){i[s+(c<<2)>>2]=n}e=p?q:e;n=h+(p+q<<2)|0;z:{A:{B:{if((u|0)!=-1){c=u+((u>>>0)%3|0?-1:2)|0;if((c|0)==-1){break B}c=i[h+(c<<2)>>2];i[h+(e<<2)>>2]=c;if((c|0)==-1){break A}i[s+(c<<2)>>2]=e;break A}i[h+(e<<2)>>2]=-1;d=-1;break z}i[h+(e<<2)>>2]=-1}c=u+1|0;c=(c>>>0)%3|0?c:u+ -2|0;d=-1;if((c|0)==-1){break z}d=i[h+(c<<2)>>2]}i[n>>2]=d;i[i[m+68>>2]+ -4>>2]=q;break q}p=i[m+68>>2];e=i[m+64>>2];if((p|0)==(e|0)){d=-1;break g}n=p+ -4|0;z=i[n>>2];i[m+68>>2]=n;q=i[m+44>>2];if(!q){break n}d=i[m+40>>2];t=Mn(q)>>>0>1;h=f&q+2147483647;C:{if(!t){break C}c=f;h=c;if(c>>>0>>0){break C}h=(f>>>0)%(q>>>0)|0}c=i[d+(h<<2)>>2];if(!c){break n}d=i[c>>2];if(!d){break n}s=q+ -1|0;while(1){D:{c=i[d+4>>2];E:{if((f|0)!=(c|0)){F:{if(!t){c=c&s;break F}if(c>>>0>>0){break F}c=(c>>>0)%(q>>>0)|0}if((c|0)!=(h|0)){break n}break E}if((f|0)==i[d+8>>2]){break D}}d=i[d>>2];if(d){continue}break n}break}h=i[m+72>>2];if((h|0)!=(n|0)){i[n>>2]=i[d+12>>2];i[m+68>>2]=p;c=e;break m}t=n-e|0;p=t>>2;s=p+1|0;if(s>>>0>=1073741824){break p}n=h-e|0;h=n>>1;n=n>>2>>>0<536870911?h>>>0>>0?s:h:1073741823;c=0;G:{if(!n){break G}if(n>>>0>=1073741824){break a}c=Gm(n<<2)}h=c+(p<<2)|0;i[h>>2]=i[d+12>>2];d=(n<<2)+c|0;p=h+4|0;if((t|0)>=1){sn(c,e,t)}i[m+72>>2]=d;i[m+68>>2]=p;i[m+64>>2]=c;if(!e){break m}qn(e);p=i[m+68>>2];c=i[m+64>>2];break m}c=i[a+8>>2];bg(c+24|0,11508);d=-1;e=i[a+8>>2];q=o(f,3);p=i[c+28>>2]-i[c+24>>2]|0;s=p>>2;h=s+ -1|0;i[i[e>>2]+(q<<2)>>2]=h;bg(e+24|0,11508);n=q+1|0;i[i[e>>2]+(n<<2)>>2]=(i[e+28>>2]-i[e+24>>2]>>2)+ -1;c=i[a+8>>2];bg(c+24|0,11508);e=q+2|0;i[i[c>>2]+(e<<2)>>2]=(i[c+28>>2]-i[c+24>>2]>>2)+ -1;c=i[a+8>>2];t=i[c+24>>2];if(i[c+28>>2]-t>>2>(A|0)){break g}H:{I:{if(!p){i[t+(s<<2)>>2]=n;d=1;break I}i[t+(h<<2)>>2]=q;d=0;if((p|0)==-4){break I}i[t+(s<<2)>>2]=n;d=s+1|0;if((d|0)==-1){break H}}i[t+(d<<2)>>2]=e}c=i[m+68>>2];d=i[m+72>>2];if((c|0)!=(d|0)){i[c>>2]=q;i[m+68>>2]=c+4;break q}s=i[m+64>>2];p=c-s|0;h=p>>2;n=h+1|0;if(n>>>0>=1073741824){break o}e=d-s|0;d=e>>1;e=e>>2>>>0<536870911?d>>>0>>0?n:d:1073741823;c=0;J:{if(!e){break J}if(e>>>0>=1073741824){break a}c=Gm(e<<2)}d=c+(h<<2)|0;i[d>>2]=q;e=c+(e<<2)|0;d=d+4|0;if((p|0)>=1){sn(c,s,p)}i[m+72>>2]=e;i[m+68>>2]=d;i[m+64>>2]=c;if(!s){break q}qn(s)}d=i[a+40>>2];if((d|0)==i[a+36>>2]){break i}f=(f^-1)+b|0;while(1){c=i[d+ -8>>2];if(c>>>0>f>>>0){break l}if((c|0)!=(f|0)){break i}e=j[d+ -4|0];c=d+ -12|0;d=i[c>>2];i[a+40>>2]=c;if((d|0)<0){break l}h=i[i[m+68>>2]+ -4>>2];i[m+20>>2]=(d^-1)+b;i[m+88>>2]=m+20;cg(m,m+40|0,m+20|0,m+88|0);d=i[m>>2];K:{if(e&1){c=-1;if((h|0)==-1){break K}c=h+1|0;c=(c>>>0)%3|0?c:h+ -2|0;break K}c=-1;if((h|0)==-1){break K}c=h+ -1|0;if((h>>>0)%3|0){break K}c=h+2|0}i[d+12>>2]=c;d=i[a+40>>2];if((d|0)!=i[a+36>>2]){continue}break}break i}Vm();x()}Vm();x()}p=n;c=e}if((c|0)==(p|0)){break l}u=i[p+ -4>>2];d=(u|0)==-1;q=i[a+8>>2];if(i[i[q+12>>2]+(u<<2)>>2]!=-1?!d:0){break l}h=(z|0)==-1;s=i[q+12>>2];if(i[s+(z<<2)>>2]!=-1?!h:0){break l}t=o(f,3);f=t+2|0;i[s+(u<<2)>>2]=f;n=f<<2;i[n+s>>2]=u;c=t+1|0;i[s+(z<<2)>>2]=c;e=c<<2;i[e+s>>2]=z;if(d){break k}r=-1;v=-1;y=i[q>>2];d=y+(t<<2)|0;c=u+((u>>>0)%3|0?-1:2)|0;if((c|0)!=-1){v=i[(c<<2)+y>>2]}i[d>>2]=v;c=u+1|0;c=(c>>>0)%3|0?c:u+ -2|0;if((c|0)==-1){break j}r=i[(c<<2)+y>>2];break j}d=-1;if(r&1){break g}break h}v=-1;y=i[q>>2];i[y+(t<<2)>>2]=-1;r=-1}i[e+y>>2]=r;L:{M:{N:{if(!h){c=z+((z>>>0)%3|0?-1:2)|0;if((c|0)==-1){break N}c=i[(c<<2)+y>>2];i[n+y>>2]=c;if((c|0)==-1){break M}i[i[q+24>>2]+(c<<2)>>2]=f;break M}i[n+y>>2]=-1;B=-1;d=-1;break L}i[n+y>>2]=-1}B=-1;c=z+1|0;c=(c>>>0)%3|0?c:z+ -2|0;d=-1;if((c|0)==-1){break L}B=i[(c<<2)+y>>2];d=c}c=i[q+24>>2];e=c+(B<<2)|0;if((v|0)!=-1){i[c+(v<<2)>>2]=i[e>>2]}O:{if((d|0)==-1){break O}while(1){i[(d<<2)+y>>2]=v;c=d+1|0;c=(c>>>0)%3|0?c:d+ -2|0;if((c|0)==-1){break O}d=i[s+(c<<2)>>2];if((d|0)==-1){break O}c=d+1|0;d=(c>>>0)%3|0?c:d+ -2|0;if((d|0)!=-1){continue}break}}i[e>>2]=-1;P:{if(C){break P}c=i[m+28>>2];d=i[m+32>>2];if((c|0)!=(d|0)){i[c>>2]=B;i[m+28>>2]=c+4;break P}Q:{s=i[m+24>>2];n=c-s|0;f=n>>2;h=f+1|0;if(h>>>0<1073741824){e=d-s|0;d=e>>1;e=e>>2>>>0<536870911?d>>>0>>0?h:d:1073741823;c=0;R:{if(!e){break R}if(e>>>0>=1073741824){break Q}c=Gm(e<<2)}d=c+(f<<2)|0;i[d>>2]=B;e=c+(e<<2)|0;d=d+4|0;if((n|0)>=1){sn(c,s,n)}i[m+32>>2]=e;i[m+28>>2]=d;i[m+24>>2]=c;if(!s){break P}qn(s);p=i[m+68>>2];break P}Vm();x()}break a}i[p+ -4>>2]=t}r=(w|0)<(b|0);if((b|0)!=(w|0)){continue}break}w=b}d=-1;b=i[a+8>>2];if(i[b+28>>2]-i[b+24>>2]>>2>(A|0)){break g}r=i[m+68>>2];if((r|0)!=i[m+64>>2]){C=a+72|0;b=a+60|0;s=a+312|0;while(1){c=r+ -4|0;q=i[c>>2];i[m+68>>2]=c;S:{T:{U:{V:{if(k[a+270>>1]<=513){if(!j[a+364|0]){break U}e=i[a+360>>2];c=i[a+352>>2]+(e>>>3|0)|0;if(c>>>0>=l[a+356>>2]){break T}c=j[c|0];i[a+360>>2]=e+1;c=c>>>(e&7)&1;break V}c=Ee(s)}if(!c){break T}}p=i[a+8>>2];z=i[p>>2];if((w|0)>=((i[p+4>>2]-z>>2>>>0)/3|0)){break g}h=-1;v=-1;n=i[p+24>>2];f=n;c=-1;W:{if((q|0)==-1){break W}e=q+1|0;e=(e>>>0)%3|0?e:q+ -2|0;c=-1;if((e|0)==-1){break W}c=i[z+(e<<2)>>2]}f=i[f+(c<<2)>>2];X:{if((f|0)==-1){break X}e=f+1|0;e=(e>>>0)%3|0?e:f+ -2|0;if((e|0)==-1){break X}f=e+1|0;f=(f>>>0)%3|0?f:e+ -2|0;if((f|0)!=-1){v=i[z+(f<<2)>>2]}h=e}r=-1;B=-1;n=i[n+(v<<2)>>2];f=-1;Y:{if((n|0)==-1){break Y}e=n+1|0;e=(e>>>0)%3|0?e:n+ -2|0;f=-1;if((e|0)==-1){break Y}f=e+1|0;f=(f>>>0)%3|0?f:e+ -2|0;if((f|0)!=-1){B=i[z+(f<<2)>>2]}f=e}A=i[p+12>>2];u=o(w,3);p=u<<2;i[A+p>>2]=q;i[A+(q<<2)>>2]=u;q=u+1|0;n=q<<2;i[n+A>>2]=h;i[A+(h<<2)>>2]=q;t=u+2|0;e=t<<2;i[e+A>>2]=f;i[A+(f<<2)>>2]=t;i[p+z>>2]=v;n=n+z|0;i[n>>2]=B;h=e+z|0;i[h>>2]=c;p=i[a+120>>2];f=q>>>0>>0?-1:v;e=p+(f>>>3&536870908)|0;c=i[e>>2];D=e,E=Nn(f)&c,i[D>>2]=E;r=(q|0)!=-1?i[n>>2]:r;e=p+(r>>>3&536870908)|0;c=i[e>>2];D=e,E=Nn(r)&c,i[D>>2]=E;r=-1;r=(t|0)!=-1?i[h>>2]:r;e=p+(r>>>3&536870908)|0;c=i[e>>2];D=e,E=Nn(r)&c,i[D>>2]=E;r=i[a+64>>2];e=i[a+68>>2];if((r|0)==e<<5){if((r+1|0)<=-1){break e}c=b;if(r>>>0<=1073741822){f=r+32&-32;e=e<<6;e=e>>>0>>0?f:e}else{e=2147483647}Sc(c,e);r=i[a+64>>2]}w=w+1|0;i[a+64>>2]=r+1;c=i[a+60>>2]+(r>>>3&536870908)|0;i[c>>2]=i[c>>2]|1<<(r&31);c=i[a+76>>2];e=i[a+80>>2];if((c|0)!=(e|0)){i[c>>2]=u;i[a+76>>2]=c+4;break S}t=i[C>>2];p=c-t|0;h=p>>2;n=h+1|0;if(n>>>0>=1073741824){break d}f=e-t|0;e=f>>1;f=f>>2>>>0<536870911?e>>>0>>0?n:e:1073741823;c=0;Z:{if(!f){break Z}if(f>>>0>=1073741824){break a}c=Gm(f<<2)}e=c+(h<<2)|0;i[e>>2]=u;f=c+(f<<2)|0;e=e+4|0;if((p|0)>=1){sn(c,t,p)}i[a+80>>2]=f;i[a+76>>2]=e;i[a+72>>2]=c;if(!t){break S}qn(t);break S}c=i[a+64>>2];h=i[a+68>>2];if((c|0)==h<<5){if((c+1|0)<=-1){break e}e=b;if(c>>>0<=1073741822){f=c+32&-32;c=h<<6;c=c>>>0>>0?f:c}else{c=2147483647}Sc(e,c);c=i[a+64>>2]}i[a+64>>2]=c+1;f=i[a+60>>2]+(c>>>3&536870908)|0;e=i[f>>2];D=f,E=Nn(c)&e,i[D>>2]=E;c=i[a+76>>2];e=i[a+80>>2];if((c|0)!=(e|0)){i[c>>2]=q;i[a+76>>2]=c+4;break S}t=i[C>>2];p=c-t|0;h=p>>2;n=h+1|0;if(n>>>0>=1073741824){break d}f=e-t|0;e=f>>1;f=f>>2>>>0<536870911?e>>>0>>0?n:e:1073741823;c=0;_:{if(!f){break _}if(f>>>0>=1073741824){break c}c=Gm(f<<2)}e=c+(h<<2)|0;i[e>>2]=q;f=c+(f<<2)|0;e=e+4|0;if((p|0)>=1){sn(c,t,p)}i[a+80>>2]=f;i[a+76>>2]=e;i[a+72>>2]=c;if(!t){break S}qn(t)}r=i[m+68>>2];if((r|0)!=i[m+64>>2]){continue}break}b=i[a+8>>2]}if(((i[b+4>>2]-i[b>>2]>>2>>>0)/3|0)!=(w|0)){break g}d=i[b+28>>2]-i[b+24>>2]>>2;v=i[m+24>>2];f=i[m+28>>2];if((v|0)==(f|0)){break f}while(1){h=i[v>>2];r=i[b+24>>2];w=d+ -1|0;$:{if(i[r+(w<<2)>>2]!=-1){c=d;break $}r=i[b+24>>2];while(1){w=d+ -2|0;c=d+ -1|0;d=c;if(i[(w<<2)+r>>2]==-1){continue}break}}if(w>>>0>=h>>>0){i[m>>2]=b;e=w<<2;d=i[e+r>>2];g[m+12|0]=1;i[m+8>>2]=d;i[m+4>>2]=d;if((d|0)!=-1){i[i[b>>2]+(d<<2)>>2]=h;Ld(m);d=i[m+8>>2];if((d|0)!=-1){while(1){i[i[i[a+8>>2]>>2]+(d<<2)>>2]=h;Ld(m);d=i[m+8>>2];if((d|0)!=-1){continue}break}}b=i[a+8>>2]}d=i[b+24>>2];e=d+e|0;if((h|0)!=-1){i[d+(h<<2)>>2]=i[e>>2]}i[e>>2]=-1;p=1<<(h&31);d=i[a+120>>2];n=d+(h>>>3&536870908)|0;e=n;h=d+(w>>>3&536870908)|0;d=1<<(w&31);w=p|i[n>>2];aa:{if(i[h>>2]&d){break aa}w=i[n>>2]&(p^-1)}i[e>>2]=w;i[h>>2]=i[h>>2]&(d^-1);c=c+ -1|0}d=c;v=v+4|0;if((f|0)!=(v|0)){continue}break}}v=i[m+24>>2]}if(v){i[m+28>>2]=v;qn(v)}a=i[m+48>>2];if(a){while(1){b=i[a>>2];qn(a);a=b;if(a){continue}break}}a=i[m+40>>2];i[m+40>>2]=0;if(a){qn(a)}a=i[m+64>>2];if(a){i[m+68>>2]=a;qn(a)}L=m+96|0;return d}Vm();x()}Vm();x()}Da(12220)}x()}Da(12220);x()}function ng(a,b){var c=0,d=0,e=0,f=0,h=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;p=L-96|0;L=p;i[p+72>>2]=0;i[p+64>>2]=0;i[p+68>>2]=0;i[p+48>>2]=0;i[p+52>>2]=0;i[p+40>>2]=0;i[p+44>>2]=0;i[p+56>>2]=1065353216;i[p+32>>2]=0;i[p+24>>2]=0;i[p+28>>2]=0;z=i[a+124>>2];a:{b:{c:{d:{e:{f:{if((b|0)<1){break f}w=a+232|0;y=i[a+216>>2]!=i[a+220>>2];s=1;while(1){e=u;u=e+1|0;c=pg(w);g:{if(!c){d=i[p+68>>2];if((d|0)==i[p+64>>2]){d=-1;break e}n=-1;f=i[a+8>>2];q=i[f+24>>2];m=q;s=d+ -4|0;d=i[s>>2];c=-1;h:{if((d|0)==-1){break h}h=d+1|0;h=(h>>>0)%3|0?h:d+ -2|0;c=-1;if((h|0)==-1){break h}c=i[i[f>>2]+(h<<2)>>2]}m=i[m+(c<<2)>>2];if((m|0)!=-1){h=m+1|0;n=(h>>>0)%3|0?h:m+ -2|0}h=i[f+12>>2];m=o(e,3);e=m+1|0;i[h+(d<<2)>>2]=e;t=e<<2;i[t+h>>2]=d;r=m+2|0;i[h+(n<<2)>>2]=r;v=r<<2;i[v+h>>2]=n;h=-1;e=-1;i:{if((d|0)==-1){break i}d=d+((d>>>0)%3|0?-1:2)|0;e=-1;if((d|0)==-1){break i}e=i[i[f>>2]+(d<<2)>>2]}j:{if((n|0)==-1){break j}d=n+1|0;d=(d>>>0)%3|0?d:n+ -2|0;if((d|0)==-1){break j}h=i[i[f>>2]+(d<<2)>>2]}d=-1;if((c|0)==(e|0)|(c|0)==(h|0)){break e}d=i[f>>2];i[d+(m<<2)>>2]=c;i[d+t>>2]=h;i[d+v>>2]=e;if((e|0)!=-1){i[q+(e<<2)>>2]=r}d=i[a+120>>2]+(c>>>3&536870908)|0;e=i[d>>2];D=d,E=Nn(c)&e,i[D>>2]=E;i[s>>2]=m;qg(w,m);break g}d=-1;k:{l:{m:{n:{o:{p:{q:{r:{s:{switch(c+ -1|0){case 2:case 4:d=i[p+68>>2];if((d|0)==i[p+64>>2]){d=-1;break e}m=i[a+8>>2];h=i[m+12>>2];f=o(e,3);n=(c|0)==5;r=f+(n?2:1)|0;t=r<<2;c=i[d+ -4>>2];i[h+t>>2]=c;i[h+(c<<2)>>2]=r;bg(m+24|0,11508);d=-1;q=i[a+8>>2];h=i[q+24>>2];if(i[q+28>>2]-h>>2>(z|0)){break e}v=f+2|0;d=i[q>>2];m=i[m+28>>2]-i[m+24>>2]|0;q=(m>>2)+ -1|0;i[d+t>>2]=q;if(m){i[h+(q<<2)>>2]=r}m=n?f:v;q=d+(f+n<<2)|0;t:{u:{v:{if((c|0)!=-1){n=c+((c>>>0)%3|0?-1:2)|0;if((n|0)==-1){break v}n=i[d+(n<<2)>>2];i[d+(m<<2)>>2]=n;if((n|0)==-1){break u}i[h+(n<<2)>>2]=m;break u}i[d+(m<<2)>>2]=-1;h=-1;break t}i[d+(m<<2)>>2]=-1}h=c+1|0;c=(h>>>0)%3|0?h:c+ -2|0;h=-1;if((c|0)==-1){break t}h=i[d+(c<<2)>>2]}i[q>>2]=h;d=i[p+68>>2];i[d+ -4>>2]=f;break r;case 0:m=i[p+68>>2];f=i[p+64>>2];if((m|0)==(f|0)){break e}h=m+ -4|0;r=i[h>>2];i[p+68>>2]=h;q=i[p+44>>2];if(!q){break o}v=i[p+40>>2];t=Mn(q)>>>0>1;d=e&q+2147483647;w:{if(!t){break w}c=e;d=c;if(c>>>0>>0){break w}d=(e>>>0)%(q>>>0)|0}n=d;c=i[v+(n<<2)>>2];if(!c){break o}d=i[c>>2];if(!d){break o}v=q+ -1|0;while(1){x:{c=i[d+4>>2];y:{if((e|0)!=(c|0)){z:{if(!t){c=c&v;break z}if(c>>>0>>0){break z}c=(c>>>0)%(q>>>0)|0}if((c|0)!=(n|0)){break o}break y}if((e|0)==i[d+8>>2]){break x}}d=i[d>>2];if(d){continue}break o}break}n=i[p+72>>2];if((n|0)!=(h|0)){i[h>>2]=i[d+12>>2];i[p+68>>2]=m;c=f;break n}h=h-f|0;q=h>>2;m=q+1|0;if(m>>>0>=1073741824){break q}n=n-f|0;t=n>>1;m=n>>2>>>0<536870911?t>>>0>>0?m:t:1073741823;c=0;A:{if(!m){break A}if(m>>>0>=1073741824){break a}c=Gm(m<<2)}n=c+(q<<2)|0;i[n>>2]=i[d+12>>2];d=(m<<2)+c|0;m=n+4|0;if((h|0)>=1){sn(c,f,h)}i[p+72>>2]=d;i[p+68>>2]=m;i[p+64>>2]=c;if(!f){break n}qn(f);m=i[p+68>>2];c=i[p+64>>2];break n;case 6:break s;default:break e}}m=i[a+8>>2];bg(m+24|0,11508);c=i[a+8>>2];f=o(e,3);h=i[m+28>>2]-i[m+24>>2]|0;m=h>>2;r=m+ -1|0;i[i[c>>2]+(f<<2)>>2]=r;bg(c+24|0,11508);n=f+1|0;i[i[c>>2]+(n<<2)>>2]=(i[c+28>>2]-i[c+24>>2]>>2)+ -1;c=i[a+8>>2];bg(c+24|0,11508);q=f+2|0;i[i[c>>2]+(q<<2)>>2]=(i[c+28>>2]-i[c+24>>2]>>2)+ -1;t=i[a+8>>2];c=i[t+24>>2];if(i[t+28>>2]-c>>2>(z|0)){break e}B:{C:{if(!h){i[c+(m<<2)>>2]=n;d=1;break C}i[c+(r<<2)>>2]=f;d=0;if((h|0)==-4){break C}i[c+(m<<2)>>2]=n;d=m+1|0;if((d|0)==-1){break B}}i[c+(d<<2)>>2]=q}c=i[p+68>>2];n=i[p+72>>2];if((c|0)!=(n|0)){i[c>>2]=f;d=c+4|0;i[p+68>>2]=d;break r}m=i[p+64>>2];h=c-m|0;r=h>>2;d=r+1|0;if(d>>>0>=1073741824){break p}n=n-m|0;q=n>>1;d=n>>2>>>0<536870911?q>>>0>>0?d:q:1073741823;c=0;D:{if(!d){break D}if(d>>>0>=1073741824){break a}c=Gm(d<<2)}n=c+(r<<2)|0;i[n>>2]=f;f=c+(d<<2)|0;d=n+4|0;if((h|0)>=1){sn(c,m,h)}i[p+72>>2]=f;i[p+68>>2]=d;i[p+64>>2]=c;if(!m){break r}qn(m);d=i[p+68>>2]}qg(w,i[d+ -4>>2]);d=i[a+40>>2];if((d|0)==i[a+36>>2]){break g}e=(e^-1)+b|0;while(1){c=i[d+ -8>>2];if(c>>>0>e>>>0){break m}if((c|0)!=(e|0)){break g}m=j[d+ -4|0];c=d+ -12|0;f=i[c>>2];i[a+40>>2]=c;if((f|0)<0){break m}c=i[i[p+68>>2]+ -4>>2];i[p+20>>2]=(f^-1)+b;i[p+88>>2]=p+20;cg(p,p+40|0,p+20|0,p+88|0);f=i[p>>2];E:{if(m&1){d=-1;if((c|0)==-1){break E}d=c+1|0;d=(d>>>0)%3|0?d:c+ -2|0;break E}d=-1;if((c|0)==-1){break E}d=c+ -1|0;if((c>>>0)%3|0){break E}d=c+2|0}i[f+12>>2]=d;d=i[a+40>>2];if((d|0)!=i[a+36>>2]){continue}break}break g}Vm();x()}Vm();x()}m=h;c=f}if((c|0)==(m|0)){break m}d=i[m+ -4>>2];c=(d|0)==-1;f=i[a+8>>2];if(i[i[f+12>>2]+(d<<2)>>2]!=-1?!c:0){break m}v=(r|0)==-1;h=i[f+12>>2];if(i[h+(r<<2)>>2]!=-1?!v:0){break m}q=o(e,3);t=q+2|0;i[h+(d<<2)>>2]=t;s=t<<2;i[s+h>>2]=d;e=q+1|0;i[h+(r<<2)>>2]=e;A=e<<2;i[A+h>>2]=r;if(c){break l}e=-1;c=-1;n=i[f>>2];C=n+(q<<2)|0;B=d+((d>>>0)%3|0?-1:2)|0;if((B|0)!=-1){c=i[(B<<2)+n>>2]}i[C>>2]=c;B=d+1|0;d=(B>>>0)%3|0?B:d+ -2|0;if((d|0)==-1){break k}e=i[(d<<2)+n>>2];break k}d=-1;if(s){break e}break f}c=-1;n=i[f>>2];i[n+(q<<2)>>2]=-1;e=-1}i[n+A>>2]=e;F:{G:{H:{if(!v){d=r+((r>>>0)%3|0?-1:2)|0;if((d|0)==-1){break H}d=i[(d<<2)+n>>2];i[n+s>>2]=d;if((d|0)==-1){break G}i[i[f+24>>2]+(d<<2)>>2]=t;break G}i[n+s>>2]=-1;s=-1;d=-1;break F}i[n+s>>2]=-1}s=-1;e=r+1|0;e=(e>>>0)%3|0?e:r+ -2|0;d=-1;if((e|0)==-1){break F}s=i[(e<<2)+n>>2];d=e}e=i[a+388>>2];r=c<<2;t=e+r|0;v=e;e=s<<2;i[t>>2]=i[t>>2]+i[v+e>>2];f=i[f+24>>2];e=f+e|0;if((c|0)!=-1){i[f+r>>2]=i[e>>2]}I:{if((d|0)==-1){break I}while(1){i[(d<<2)+n>>2]=c;f=d+1|0;d=(f>>>0)%3|0?f:d+ -2|0;if((d|0)==-1){break I}d=i[h+(d<<2)>>2];if((d|0)==-1){break I}f=d+1|0;d=(f>>>0)%3|0?f:d+ -2|0;if((d|0)!=-1){continue}break}}i[e>>2]=-1;J:{if(y){break J}c=i[p+28>>2];h=i[p+32>>2];if((c|0)!=(h|0)){i[c>>2]=s;i[p+28>>2]=c+4;break J}K:{d=i[p+24>>2];f=c-d|0;n=f>>2;e=n+1|0;if(e>>>0<1073741824){h=h-d|0;r=h>>1;e=h>>2>>>0<536870911?r>>>0>>0?e:r:1073741823;c=0;L:{if(!e){break L}if(e>>>0>=1073741824){break K}c=Gm(e<<2)}h=c+(n<<2)|0;i[h>>2]=s;e=c+(e<<2)|0;h=h+4|0;if((f|0)>=1){sn(c,d,f)}i[p+32>>2]=e;i[p+28>>2]=h;i[p+24>>2]=c;if(!d){break J}qn(d);m=i[p+68>>2];break J}Vm();x()}break a}i[m+ -4>>2]=q;qg(w,q)}s=(u|0)<(b|0);if((b|0)!=(u|0)){continue}break}u=b}d=-1;b=i[a+8>>2];if(i[b+28>>2]-i[b+24>>2]>>2>(z|0)){break e}e=i[p+68>>2];if((e|0)!=i[p+64>>2]){z=a+72|0;b=a+60|0;t=a+312|0;while(1){c=e+ -4|0;r=i[c>>2];i[p+68>>2]=c;M:{N:{O:{P:{if(k[a+270>>1]<=513){if(!j[a+364|0]){break O}c=i[a+360>>2];e=i[a+352>>2]+(c>>>3|0)|0;if(e>>>0>=l[a+356>>2]){break N}e=j[e|0];i[a+360>>2]=c+1;c=e>>>(c&7)&1;break P}c=Ee(t)}if(!c){break N}}s=i[a+8>>2];q=i[s>>2];if((u|0)>=((i[s+4>>2]-q>>2>>>0)/3|0)){break e}c=-1;n=-1;f=i[s+24>>2];m=f;e=-1;Q:{if((r|0)==-1){break Q}h=r+1|0;h=(h>>>0)%3|0?h:r+ -2|0;e=-1;if((h|0)==-1){break Q}e=i[q+(h<<2)>>2]}h=e;e=i[m+(h<<2)>>2];R:{if((e|0)==-1){break R}m=e+1|0;e=(m>>>0)%3|0?m:e+ -2|0;if((e|0)==-1){break R}c=e+1|0;c=(c>>>0)%3|0?c:e+ -2|0;if((c|0)!=-1){n=i[q+(c<<2)>>2]}c=e}w=-1;m=-1;f=i[f+(n<<2)>>2];e=-1;S:{if((f|0)==-1){break S}y=f+1|0;f=(y>>>0)%3|0?y:f+ -2|0;e=-1;if((f|0)==-1){break S}e=f+1|0;e=(e>>>0)%3|0?e:f+ -2|0;if((e|0)!=-1){m=i[q+(e<<2)>>2]}e=f}s=i[s+12>>2];f=o(u,3);y=f<<2;i[s+y>>2]=r;i[s+(r<<2)>>2]=f;r=f+1|0;v=r<<2;i[v+s>>2]=c;i[s+(c<<2)>>2]=r;c=f+2|0;A=c<<2;i[A+s>>2]=e;i[s+(e<<2)>>2]=c;i[q+y>>2]=n;e=q+v|0;i[e>>2]=m;q=q+A|0;i[q>>2]=h;m=i[a+120>>2];h=r>>>0>>0?-1:n;n=m+(h>>>3&536870908)|0;s=i[n>>2];D=n,E=Nn(h)&s,i[D>>2]=E;w=(r|0)!=-1?i[e>>2]:w;e=m+(w>>>3&536870908)|0;h=i[e>>2];D=e,E=Nn(w)&h,i[D>>2]=E;e=-1;e=(c|0)!=-1?i[q>>2]:e;c=m+(e>>>3&536870908)|0;m=i[c>>2];D=c,E=Nn(e)&m,i[D>>2]=E;e=i[a+64>>2];m=i[a+68>>2];if((e|0)==m<<5){if((e+1|0)<=-1){break c}c=b;if(e>>>0<=1073741822){e=e+32&-32;m=m<<6;e=m>>>0>>0?e:m}else{e=2147483647}Sc(c,e);e=i[a+64>>2]}u=u+1|0;i[a+64>>2]=e+1;c=i[a+60>>2]+(e>>>3&536870908)|0;i[c>>2]=i[c>>2]|1<<(e&31);c=i[a+76>>2];n=i[a+80>>2];if((c|0)!=(n|0)){i[c>>2]=f;i[a+76>>2]=c+4;break M}e=i[z>>2];h=c-e|0;r=h>>2;m=r+1|0;if(m>>>0>=1073741824){break b}n=n-e|0;q=n>>1;m=n>>2>>>0<536870911?q>>>0>>0?m:q:1073741823;c=0;T:{if(!m){break T}if(m>>>0>=1073741824){break a}c=Gm(m<<2)}n=c+(r<<2)|0;i[n>>2]=f;f=c+(m<<2)|0;m=n+4|0;if((h|0)>=1){sn(c,e,h)}i[a+80>>2]=f;i[a+76>>2]=m;i[a+72>>2]=c;if(!e){break M}qn(e);break M}c=i[a+64>>2];f=i[a+68>>2];if((c|0)==f<<5){if((c+1|0)<=-1){break c}e=b;if(c>>>0<=1073741822){c=c+32&-32;f=f<<6;c=f>>>0>>0?c:f}else{c=2147483647}Sc(e,c);c=i[a+64>>2]}i[a+64>>2]=c+1;e=i[a+60>>2]+(c>>>3&536870908)|0;f=i[e>>2];D=e,E=Nn(c)&f,i[D>>2]=E;c=i[a+76>>2];h=i[a+80>>2];if((c|0)!=(h|0)){i[c>>2]=r;i[a+76>>2]=c+4;break M}e=i[z>>2];m=c-e|0;n=m>>2;f=n+1|0;if(f>>>0>=1073741824){break b}h=h-e|0;q=h>>1;f=h>>2>>>0<536870911?q>>>0>>0?f:q:1073741823;c=0;U:{if(!f){break U}if(f>>>0>=1073741824){break a}c=Gm(f<<2)}h=c+(n<<2)|0;i[h>>2]=r;f=c+(f<<2)|0;h=h+4|0;if((m|0)>=1){sn(c,e,m)}i[a+80>>2]=f;i[a+76>>2]=h;i[a+72>>2]=c;if(!e){break M}qn(e)}e=i[p+68>>2];if((e|0)!=i[p+64>>2]){continue}break}b=i[a+8>>2]}if(((i[b+4>>2]-i[b>>2]>>2>>>0)/3|0)!=(u|0)){break e}d=i[b+28>>2]-i[b+24>>2]>>2;n=i[p+24>>2];m=i[p+28>>2];if((n|0)==(m|0)){break d}while(1){f=i[n>>2];e=i[b+24>>2];u=d+ -1|0;V:{if(i[e+(u<<2)>>2]!=-1){c=d;break V}e=i[b+24>>2];while(1){u=d+ -2|0;c=d+ -1|0;d=c;if(i[(u<<2)+e>>2]==-1){continue}break}}if(u>>>0>=f>>>0){i[p>>2]=b;d=e;e=u<<2;d=i[d+e>>2];g[p+12|0]=1;i[p+8>>2]=d;i[p+4>>2]=d;h=e;if((d|0)!=-1){i[i[b>>2]+(d<<2)>>2]=f;Ld(p);d=i[p+8>>2];if((d|0)!=-1){while(1){i[i[i[a+8>>2]>>2]+(d<<2)>>2]=f;Ld(p);d=i[p+8>>2];if((d|0)!=-1){continue}break}}b=i[a+8>>2]}e=i[b+24>>2];d=h+e|0;if((f|0)!=-1){i[e+(f<<2)>>2]=i[d>>2]}i[d>>2]=-1;d=1<<(f&31);e=f>>>3&536870908;f=i[a+120>>2];e=e+f|0;h=e;f=f+(u>>>3&536870908)|0;u=1<<(u&31);q=d|i[e>>2];W:{if(i[f>>2]&u){break W}q=i[e>>2]&(d^-1)}i[h>>2]=q;i[f>>2]=i[f>>2]&(u^-1);c=c+ -1|0}d=c;n=n+4|0;if((m|0)!=(n|0)){continue}break}}n=i[p+24>>2]}if(n){i[p+28>>2]=n;qn(n)}a=i[p+48>>2];if(a){while(1){b=i[a>>2];qn(a);a=b;if(a){continue}break}}a=i[p+40>>2];i[p+40>>2]=0;if(a){qn(a)}a=i[p+64>>2];if(a){i[p+68>>2]=a;qn(a)}L=p+96|0;return d}Vm();x()}Vm();x()}Da(12220);x()}function oh(a,b,c,d,e){var f=0,k=0;f=L-32|0;L=f;i[b+32>>2]=d;i[b+40>>2]=c;i[b+4>>2]=e;lh(a,d,f+16|0);a:{if(i[a>>2]){break a}c=a+4|0;if(g[a+15|0]<=-1){qn(i[c>>2])}e=j[f+23|0];if((O[i[i[b>>2]+8>>2]](b)|0)!=(e|0)){b=Gm(64);i[f>>2]=b;i[f+4>>2]=50;i[f+8>>2]=-2147483584;g[b+50|0]=0;d=j[13665]|j[13666]<<8;g[b+48|0]=d;g[b+49|0]=d>>>8;d=j[13661]|j[13662]<<8|(j[13663]<<16|j[13664]<<24);e=j[13657]|j[13658]<<8|(j[13659]<<16|j[13660]<<24);g[b+40|0]=e;g[b+41|0]=e>>>8;g[b+42|0]=e>>>16;g[b+43|0]=e>>>24;g[b+44|0]=d;g[b+45|0]=d>>>8;g[b+46|0]=d>>>16;g[b+47|0]=d>>>24;d=j[13653]|j[13654]<<8|(j[13655]<<16|j[13656]<<24);e=j[13649]|j[13650]<<8|(j[13651]<<16|j[13652]<<24);g[b+32|0]=e;g[b+33|0]=e>>>8;g[b+34|0]=e>>>16;g[b+35|0]=e>>>24;g[b+36|0]=d;g[b+37|0]=d>>>8;g[b+38|0]=d>>>16;g[b+39|0]=d>>>24;d=j[13645]|j[13646]<<8|(j[13647]<<16|j[13648]<<24);e=j[13641]|j[13642]<<8|(j[13643]<<16|j[13644]<<24);g[b+24|0]=e;g[b+25|0]=e>>>8;g[b+26|0]=e>>>16;g[b+27|0]=e>>>24;g[b+28|0]=d;g[b+29|0]=d>>>8;g[b+30|0]=d>>>16;g[b+31|0]=d>>>24;d=j[13637]|j[13638]<<8|(j[13639]<<16|j[13640]<<24);e=j[13633]|j[13634]<<8|(j[13635]<<16|j[13636]<<24);g[b+16|0]=e;g[b+17|0]=e>>>8;g[b+18|0]=e>>>16;g[b+19|0]=e>>>24;g[b+20|0]=d;g[b+21|0]=d>>>8;g[b+22|0]=d>>>16;g[b+23|0]=d>>>24;d=j[13629]|j[13630]<<8|(j[13631]<<16|j[13632]<<24);e=j[13625]|j[13626]<<8|(j[13627]<<16|j[13628]<<24);g[b+8|0]=e;g[b+9|0]=e>>>8;g[b+10|0]=e>>>16;g[b+11|0]=e>>>24;g[b+12|0]=d;g[b+13|0]=d>>>8;g[b+14|0]=d>>>16;g[b+15|0]=d>>>24;d=j[13621]|j[13622]<<8|(j[13623]<<16|j[13624]<<24);e=j[13617]|j[13618]<<8|(j[13619]<<16|j[13620]<<24);g[b|0]=e;g[b+1|0]=e>>>8;g[b+2|0]=e>>>16;g[b+3|0]=e>>>24;g[b+4|0]=d;g[b+5|0]=d>>>8;g[b+6|0]=d>>>16;g[b+7|0]=d>>>24;i[a>>2]=-1;Jm(c,f);if(g[f+11|0]>-1){break a}qn(i[f>>2]);break a}d=j[f+21|0];g[b+36|0]=d;k=j[f+22|0];g[b+37|0]=k;if((d+ -1&255)>>>0>=2){b=Gm(32);i[f>>2]=b;i[f+4>>2]=22;i[f+8>>2]=-2147483616;g[b+22|0]=0;d=j[13686]|j[13687]<<8|(j[13688]<<16|j[13689]<<24);e=j[13682]|j[13683]<<8|(j[13684]<<16|j[13685]<<24);g[b+14|0]=e;g[b+15|0]=e>>>8;g[b+16|0]=e>>>16;g[b+17|0]=e>>>24;g[b+18|0]=d;g[b+19|0]=d>>>8;g[b+20|0]=d>>>16;g[b+21|0]=d>>>24;d=j[13680]|j[13681]<<8|(j[13682]<<16|j[13683]<<24);e=j[13676]|j[13677]<<8|(j[13678]<<16|j[13679]<<24);g[b+8|0]=e;g[b+9|0]=e>>>8;g[b+10|0]=e>>>16;g[b+11|0]=e>>>24;g[b+12|0]=d;g[b+13|0]=d>>>8;g[b+14|0]=d>>>16;g[b+15|0]=d>>>24;d=j[13672]|j[13673]<<8|(j[13674]<<16|j[13675]<<24);e=j[13668]|j[13669]<<8|(j[13670]<<16|j[13671]<<24);g[b|0]=e;g[b+1|0]=e>>>8;g[b+2|0]=e>>>16;g[b+3|0]=e>>>24;g[b+4|0]=d;g[b+5|0]=d>>>8;g[b+6|0]=d>>>16;g[b+7|0]=d>>>24;i[a>>2]=-5;Jm(c,f);if(g[f+11|0]>-1){break a}qn(i[f>>2]);break a}if(!((d|0)!=2|(e?2:3)>>>0>=k>>>0)){b=Gm(32);i[f>>2]=b;i[f+4>>2]=22;i[f+8>>2]=-2147483616;g[b+22|0]=0;d=j[13709]|j[13710]<<8|(j[13711]<<16|j[13712]<<24);e=j[13705]|j[13706]<<8|(j[13707]<<16|j[13708]<<24);g[b+14|0]=e;g[b+15|0]=e>>>8;g[b+16|0]=e>>>16;g[b+17|0]=e>>>24;g[b+18|0]=d;g[b+19|0]=d>>>8;g[b+20|0]=d>>>16;g[b+21|0]=d>>>24;d=j[13703]|j[13704]<<8|(j[13705]<<16|j[13706]<<24);e=j[13699]|j[13700]<<8|(j[13701]<<16|j[13702]<<24);g[b+8|0]=e;g[b+9|0]=e>>>8;g[b+10|0]=e>>>16;g[b+11|0]=e>>>24;g[b+12|0]=d;g[b+13|0]=d>>>8;g[b+14|0]=d>>>16;g[b+15|0]=d>>>24;d=j[13695]|j[13696]<<8|(j[13697]<<16|j[13698]<<24);e=j[13691]|j[13692]<<8|(j[13693]<<16|j[13694]<<24);g[b|0]=e;g[b+1|0]=e>>>8;g[b+2|0]=e>>>16;g[b+3|0]=e>>>24;g[b+4|0]=d;g[b+5|0]=d>>>8;g[b+6|0]=d>>>16;g[b+7|0]=d>>>24;i[a>>2]=-5;Jm(c,f);if(g[f+11|0]>-1){break a}qn(i[f>>2]);break a}d=d<<8|k;h[i[b+32>>2]+38>>1]=d;b:{if((d&65535)>>>0<259|h[f+26>>1]>-1){break b}mh(a,b);if(i[a>>2]){break a}if(g[c+11|0]>-1){break b}qn(i[c>>2])}if(!(O[i[i[b>>2]+12>>2]](b)|0)){b=Gm(48);i[f>>2]=b;i[f+4>>2]=33;i[f+8>>2]=-2147483600;g[b+33|0]=0;g[b+32|0]=j[13746];d=j[13742]|j[13743]<<8|(j[13744]<<16|j[13745]<<24);e=j[13738]|j[13739]<<8|(j[13740]<<16|j[13741]<<24);g[b+24|0]=e;g[b+25|0]=e>>>8;g[b+26|0]=e>>>16;g[b+27|0]=e>>>24;g[b+28|0]=d;g[b+29|0]=d>>>8;g[b+30|0]=d>>>16;g[b+31|0]=d>>>24;d=j[13734]|j[13735]<<8|(j[13736]<<16|j[13737]<<24);e=j[13730]|j[13731]<<8|(j[13732]<<16|j[13733]<<24);g[b+16|0]=e;g[b+17|0]=e>>>8;g[b+18|0]=e>>>16;g[b+19|0]=e>>>24;g[b+20|0]=d;g[b+21|0]=d>>>8;g[b+22|0]=d>>>16;g[b+23|0]=d>>>24;d=j[13726]|j[13727]<<8|(j[13728]<<16|j[13729]<<24);e=j[13722]|j[13723]<<8|(j[13724]<<16|j[13725]<<24);g[b+8|0]=e;g[b+9|0]=e>>>8;g[b+10|0]=e>>>16;g[b+11|0]=e>>>24;g[b+12|0]=d;g[b+13|0]=d>>>8;g[b+14|0]=d>>>16;g[b+15|0]=d>>>24;d=j[13718]|j[13719]<<8|(j[13720]<<16|j[13721]<<24);e=j[13714]|j[13715]<<8|(j[13716]<<16|j[13717]<<24);g[b|0]=e;g[b+1|0]=e>>>8;g[b+2|0]=e>>>16;g[b+3|0]=e>>>24;g[b+4|0]=d;g[b+5|0]=d>>>8;g[b+6|0]=d>>>16;g[b+7|0]=d>>>24;i[a>>2]=-1;Jm(c,f);if(g[f+11|0]>-1){break a}qn(i[f>>2]);break a}if(!(O[i[i[b>>2]+20>>2]](b)|0)){b=Gm(32);i[f>>2]=b;i[f+4>>2]=31;i[f+8>>2]=-2147483616;g[b+31|0]=0;d=j[13775]|j[13776]<<8|(j[13777]<<16|j[13778]<<24);e=j[13771]|j[13772]<<8|(j[13773]<<16|j[13774]<<24);g[b+23|0]=e;g[b+24|0]=e>>>8;g[b+25|0]=e>>>16;g[b+26|0]=e>>>24;g[b+27|0]=d;g[b+28|0]=d>>>8;g[b+29|0]=d>>>16;g[b+30|0]=d>>>24;d=j[13768]|j[13769]<<8|(j[13770]<<16|j[13771]<<24);e=j[13764]|j[13765]<<8|(j[13766]<<16|j[13767]<<24);g[b+16|0]=e;g[b+17|0]=e>>>8;g[b+18|0]=e>>>16;g[b+19|0]=e>>>24;g[b+20|0]=d;g[b+21|0]=d>>>8;g[b+22|0]=d>>>16;g[b+23|0]=d>>>24;d=j[13760]|j[13761]<<8|(j[13762]<<16|j[13763]<<24);e=j[13756]|j[13757]<<8|(j[13758]<<16|j[13759]<<24);g[b+8|0]=e;g[b+9|0]=e>>>8;g[b+10|0]=e>>>16;g[b+11|0]=e>>>24;g[b+12|0]=d;g[b+13|0]=d>>>8;g[b+14|0]=d>>>16;g[b+15|0]=d>>>24;d=j[13752]|j[13753]<<8|(j[13754]<<16|j[13755]<<24);e=j[13748]|j[13749]<<8|(j[13750]<<16|j[13751]<<24);g[b|0]=e;g[b+1|0]=e>>>8;g[b+2|0]=e>>>16;g[b+3|0]=e>>>24;g[b+4|0]=d;g[b+5|0]=d>>>8;g[b+6|0]=d>>>16;g[b+7|0]=d>>>24;i[a>>2]=-1;Jm(c,f);if(g[f+11|0]>-1){break a}qn(i[f>>2]);break a}if(!(O[i[i[b>>2]+24>>2]](b)|0)){b=Gm(48);i[f>>2]=b;i[f+4>>2]=34;i[f+8>>2]=-2147483600;g[b+34|0]=0;d=j[13812]|j[13813]<<8;g[b+32|0]=d;g[b+33|0]=d>>>8;d=j[13808]|j[13809]<<8|(j[13810]<<16|j[13811]<<24);e=j[13804]|j[13805]<<8|(j[13806]<<16|j[13807]<<24);g[b+24|0]=e;g[b+25|0]=e>>>8;g[b+26|0]=e>>>16;g[b+27|0]=e>>>24;g[b+28|0]=d;g[b+29|0]=d>>>8;g[b+30|0]=d>>>16;g[b+31|0]=d>>>24;d=j[13800]|j[13801]<<8|(j[13802]<<16|j[13803]<<24);e=j[13796]|j[13797]<<8|(j[13798]<<16|j[13799]<<24);g[b+16|0]=e;g[b+17|0]=e>>>8;g[b+18|0]=e>>>16;g[b+19|0]=e>>>24;g[b+20|0]=d;g[b+21|0]=d>>>8;g[b+22|0]=d>>>16;g[b+23|0]=d>>>24;d=j[13792]|j[13793]<<8|(j[13794]<<16|j[13795]<<24);e=j[13788]|j[13789]<<8|(j[13790]<<16|j[13791]<<24);g[b+8|0]=e;g[b+9|0]=e>>>8;g[b+10|0]=e>>>16;g[b+11|0]=e>>>24;g[b+12|0]=d;g[b+13|0]=d>>>8;g[b+14|0]=d>>>16;g[b+15|0]=d>>>24;d=j[13784]|j[13785]<<8|(j[13786]<<16|j[13787]<<24);e=j[13780]|j[13781]<<8|(j[13782]<<16|j[13783]<<24);g[b|0]=e;g[b+1|0]=e>>>8;g[b+2|0]=e>>>16;g[b+3|0]=e>>>24;g[b+4|0]=d;g[b+5|0]=d>>>8;g[b+6|0]=d>>>16;g[b+7|0]=d>>>24;i[a>>2]=-1;Jm(c,f);if(g[f+11|0]>-1){break a}qn(i[f>>2]);break a}i[a>>2]=0;i[a+4>>2]=0;i[a+8>>2]=0;i[a+12>>2]=0}L=f+32|0}function lh(a,b,c){var d=0,e=0,f=0,k=0,m=0,n=0;e=L-16|0;L=e;k=i[b+12>>2];d=i[b+20>>2];f=i[b+16>>2];m=f+5|0;if(m>>>0<5){d=d+1|0}a:{if((k|0)<(d|0)?1:(k|0)<=(d|0)?l[b+8>>2]>>0:0){b=Gm(32);i[e>>2]=b;i[e+4>>2]=29;i[e+8>>2]=-2147483616;g[b+29|0]=0;c=j[13561]|j[13562]<<8|(j[13563]<<16|j[13564]<<24);d=j[13557]|j[13558]<<8|(j[13559]<<16|j[13560]<<24);g[b+21|0]=d;g[b+22|0]=d>>>8;g[b+23|0]=d>>>16;g[b+24|0]=d>>>24;g[b+25|0]=c;g[b+26|0]=c>>>8;g[b+27|0]=c>>>16;g[b+28|0]=c>>>24;c=i[3389];d=i[3388];g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=i[3387];d=i[3386];g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=i[3385];d=i[3384];g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[a>>2]=-2;Jm(a+4|0,e);if(g[e+11|0]>-1){break a}qn(i[e>>2]);break a}d=f+i[b>>2]|0;k=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);g[c|0]=k;g[c+1|0]=k>>>8;g[c+2|0]=k>>>16;g[c+3|0]=k>>>24;g[c+4|0]=j[d+4|0];k=b;d=i[b+20>>2];f=i[b+16>>2]+5|0;if(f>>>0<5){d=d+1|0}m=f;f=d;i[k+16>>2]=m;i[k+20>>2]=d;if(Pl(c,13566,5)){b=Gm(32);i[e>>2]=b;i[e+4>>2]=17;i[e+8>>2]=-2147483616;g[b+17|0]=0;g[b+16|0]=j[13588];c=j[13584]|j[13585]<<8|(j[13586]<<16|j[13587]<<24);d=j[13580]|j[13581]<<8|(j[13582]<<16|j[13583]<<24);g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=j[13576]|j[13577]<<8|(j[13578]<<16|j[13579]<<24);d=j[13572]|j[13573]<<8|(j[13574]<<16|j[13575]<<24);g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[a>>2]=-1;Jm(a+4|0,e);if(g[e+11|0]>-1){break a}qn(i[e>>2]);break a}d=i[b+12>>2];if((d|0)<(f|0)?1:(d|0)<=(f|0)?l[b+8>>2]<=m>>>0:0){b=Gm(32);i[e>>2]=b;i[e+4>>2]=29;i[e+8>>2]=-2147483616;g[b+29|0]=0;c=j[13561]|j[13562]<<8|(j[13563]<<16|j[13564]<<24);d=j[13557]|j[13558]<<8|(j[13559]<<16|j[13560]<<24);g[b+21|0]=d;g[b+22|0]=d>>>8;g[b+23|0]=d>>>16;g[b+24|0]=d>>>24;g[b+25|0]=c;g[b+26|0]=c>>>8;g[b+27|0]=c>>>16;g[b+28|0]=c>>>24;c=i[3389];d=i[3388];g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=i[3387];d=i[3386];g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=i[3385];d=i[3384];g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[a>>2]=-2;Jm(a+4|0,e);if(g[e+11|0]>-1){break a}qn(i[e>>2]);break a}g[c+5|0]=j[m+i[b>>2]|0];d=i[b+20>>2];f=i[b+16>>2]+1|0;if(f>>>0<1){d=d+1|0}i[b+16>>2]=f;i[k+20>>2]=d;k=i[b+12>>2];if((k|0)<(d|0)?1:(k|0)<=(d|0)?l[b+8>>2]<=f>>>0:0){b=Gm(32);i[e>>2]=b;i[e+4>>2]=29;i[e+8>>2]=-2147483616;g[b+29|0]=0;c=j[13561]|j[13562]<<8|(j[13563]<<16|j[13564]<<24);d=j[13557]|j[13558]<<8|(j[13559]<<16|j[13560]<<24);g[b+21|0]=d;g[b+22|0]=d>>>8;g[b+23|0]=d>>>16;g[b+24|0]=d>>>24;g[b+25|0]=c;g[b+26|0]=c>>>8;g[b+27|0]=c>>>16;g[b+28|0]=c>>>24;c=i[3389];d=i[3388];g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=i[3387];d=i[3386];g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=i[3385];d=i[3384];g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[a>>2]=-2;Jm(a+4|0,e);if(g[e+11|0]>-1){break a}qn(i[e>>2]);break a}g[c+6|0]=j[f+i[b>>2]|0];d=i[b+20>>2];f=i[b+16>>2]+1|0;if(f>>>0<1){d=d+1|0}i[b+16>>2]=f;i[b+20>>2]=d;k=i[b+12>>2];if((k|0)<(d|0)?1:(k|0)<=(d|0)?l[b+8>>2]<=f>>>0:0){b=Gm(32);i[e>>2]=b;i[e+4>>2]=29;i[e+8>>2]=-2147483616;g[b+29|0]=0;c=j[13561]|j[13562]<<8|(j[13563]<<16|j[13564]<<24);d=j[13557]|j[13558]<<8|(j[13559]<<16|j[13560]<<24);g[b+21|0]=d;g[b+22|0]=d>>>8;g[b+23|0]=d>>>16;g[b+24|0]=d>>>24;g[b+25|0]=c;g[b+26|0]=c>>>8;g[b+27|0]=c>>>16;g[b+28|0]=c>>>24;c=i[3389];d=i[3388];g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=i[3387];d=i[3386];g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=i[3385];d=i[3384];g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[a>>2]=-2;Jm(a+4|0,e);if(g[e+11|0]>-1){break a}qn(i[e>>2]);break a}g[c+7|0]=j[f+i[b>>2]|0];d=i[b+20>>2];f=i[b+16>>2]+1|0;if(f>>>0<1){d=d+1|0}i[b+16>>2]=f;i[b+20>>2]=d;k=i[b+12>>2];if((k|0)<(d|0)?1:(k|0)<=(d|0)?l[b+8>>2]<=f>>>0:0){b=Gm(32);i[e>>2]=b;i[e+4>>2]=29;i[e+8>>2]=-2147483616;g[b+29|0]=0;c=j[13561]|j[13562]<<8|(j[13563]<<16|j[13564]<<24);d=j[13557]|j[13558]<<8|(j[13559]<<16|j[13560]<<24);g[b+21|0]=d;g[b+22|0]=d>>>8;g[b+23|0]=d>>>16;g[b+24|0]=d>>>24;g[b+25|0]=c;g[b+26|0]=c>>>8;g[b+27|0]=c>>>16;g[b+28|0]=c>>>24;c=i[3389];d=i[3388];g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=i[3387];d=i[3386];g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=i[3385];d=i[3384];g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[a>>2]=-2;Jm(a+4|0,e);if(g[e+11|0]>-1){break a}qn(i[e>>2]);break a}g[c+8|0]=j[f+i[b>>2]|0];d=i[b+20>>2];f=d;n=i[b+16>>2];m=n+1|0;if(m>>>0<1){d=d+1|0}i[b+16>>2]=m;i[b+20>>2]=d;k=i[b+12>>2];d=f;f=n+3|0;if(f>>>0<3){d=d+1|0}if((k|0)<(d|0)?1:(k|0)<=(d|0)?l[b+8>>2]>>0:0){b=Gm(32);i[e>>2]=b;i[e+4>>2]=29;i[e+8>>2]=-2147483616;g[b+29|0]=0;c=j[13561]|j[13562]<<8|(j[13563]<<16|j[13564]<<24);d=j[13557]|j[13558]<<8|(j[13559]<<16|j[13560]<<24);g[b+21|0]=d;g[b+22|0]=d>>>8;g[b+23|0]=d>>>16;g[b+24|0]=d>>>24;g[b+25|0]=c;g[b+26|0]=c>>>8;g[b+27|0]=c>>>16;g[b+28|0]=c>>>24;c=i[3389];d=i[3388];g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=i[3387];d=i[3386];g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=i[3385];d=i[3384];g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[a>>2]=-2;Jm(a+4|0,e);if(g[e+11|0]>-1){break a}qn(i[e>>2]);break a}f=c;c=m+i[b>>2]|0;h[f+10>>1]=j[c|0]|j[c+1|0]<<8;c=b;f=b;d=i[b+20>>2];b=i[b+16>>2]+2|0;if(b>>>0<2){d=d+1|0}i[f+16>>2]=b;i[c+20>>2]=d;i[a+8>>2]=0;i[a+12>>2]=0;i[a>>2]=0;i[a+4>>2]=0}L=e+16|0}function lg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,h=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;p=L+ -64|0;L=p;i[a+132>>2]=0;if(i[a+148>>2]){c=i[a+144>>2];if(c){while(1){b=i[c>>2];qn(c);c=b;if(b){continue}break}}i[a+144>>2]=0;b=i[a+140>>2];if(b){c=0;while(1){i[i[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;if((b|0)!=(c|0)){continue}break}}i[a+148>>2]=0}a:{b:{c:{d:{e:{f:{c=i[a+4>>2];e=j[c+36|0];b=e<<8|j[c+37|0];g:{if(b>>>0>513){break g}f=i[c+32>>2];if(b>>>0<=511){m=i[f+12>>2];b=i[f+20>>2];h=i[f+16>>2];d=h+4|0;if(d>>>0<4){b=b+1|0}n=d;d=b;if((m|0)<(b|0)?1:(m|0)<=(b|0)?l[f+8>>2]>>0:0){break f}b=h+i[f>>2]|0;b=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p>>2]=b;i[f+16>>2]=n;i[f+20>>2]=d;i[a+132>>2]=b;break g}if(!Rf(1,p,f)){break f}c=i[a+4>>2];e=j[c+36|0];i[a+132>>2]=i[p>>2]}f=i[c+32>>2];h:{i:{j:{if((e&255)>>>0<=1){e=0;m=i[f+12>>2];b=i[f+20>>2];h=i[f+16>>2];d=h+4|0;if(d>>>0<4){b=b+1|0}n=d;d=b;if((m|0)<(b|0)?1:(m|0)<=(b|0)?l[f+8>>2]>>0:0){break a}b=h+i[f>>2]|0;b=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+60>>2]=b;i[f+16>>2]=n;i[f+20>>2]=d;i[a+156>>2]=b;n=a+156|0;break j}e=0;if(!Rf(1,p+60|0,f)){break a}c=i[a+4>>2];b=j[c+36|0];i[a+156>>2]=i[p+60>>2];n=a+156|0;if(b>>>0>1){break i}}d=i[c+32>>2];b=i[d+8>>2];f=i[d+12>>2];q=b;b=i[d+20>>2];m=i[d+16>>2];c=m+4|0;if(c>>>0<4){b=b+1|0}s=c;c=b;if((f|0)<(b|0)?1:(f|0)<=(b|0)?q>>>0>>0:0){break a}b=m+i[d>>2]|0;h=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+56>>2]=h;i[d+16>>2]=s;i[d+20>>2]=c;break h}if(!Rf(1,p+56|0,i[c+32>>2])){break a}h=i[p+56>>2]}if(h>>>0>1431655765|l[n>>2]>o(h,3)>>>0){break a}r=i[a+4>>2];d=i[r+32>>2];t=i[d+8>>2];q=i[d+16>>2];f=i[d+12>>2];b=f;c=i[d+20>>2];if((b|0)<(c|0)?1:(b|0)<=(c|0)?t>>>0<=q>>>0:0){break a}u=i[d>>2];s=j[u+q|0];b=c;m=q+1|0;if(m>>>0<1){b=b+1|0}i[d+16>>2]=m;i[d+20>>2]=b;k:{if(j[r+36|0]<=1){b=c;c=q+5|0;if(c>>>0<5){b=b+1|0}q=c;c=b;if((f|0)<(b|0)?1:(f|0)<=(b|0)?t>>>0>>0:0){break a}b=m+u|0;m=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+52>>2]=m;i[d+16>>2]=q;i[d+20>>2]=c;break k}if(!Rf(1,p+52|0,d)){break a}m=i[p+52>>2]}if(h>>>0>>0|h>>>0>((m>>>0)/3|0)+m>>>0){break a}b=i[a+4>>2];d=i[b+32>>2];l:{if(j[b+36|0]<=1){f=i[d+12>>2];b=i[d+20>>2];q=i[d+16>>2];c=q+4|0;if(c>>>0<4){b=b+1|0}r=c;c=b;if((f|0)<(b|0)?1:(f|0)<=(b|0)?l[d+8>>2]>>0:0){break a}b=q+i[d>>2]|0;q=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+48>>2]=q;i[d+16>>2]=r;i[d+20>>2]=c;break l}if(!Rf(1,p+48|0,d)){break a}q=i[p+48>>2]}if(q>>>0>m>>>0){break a}i[a+28>>2]=i[a+24>>2];c=Gm(88);yk(c);b=i[a+8>>2];i[a+8>>2]=c;f=a+8|0;if(b){Sf(f,b);if(!i[f>>2]){break a}}b=i[a+160>>2];i[a+164>>2]=b;m:{if(i[a+168>>2]-b>>2>>>0>=h>>>0){break m}if(h>>>0>=1073741824){break e}e=h<<2;c=Gm(e);i[a+164>>2]=c;i[a+160>>2]=c;i[a+168>>2]=c+e;if(!b){break m}qn(b)}b=i[a+172>>2];i[a+176>>2]=b;n:{if(i[a+180>>2]-b>>2>>>0>=h>>>0){break n}if(h>>>0>=1073741824){break d}e=h<<2;c=Gm(e);i[a+176>>2]=c;i[a+172>>2]=c;i[a+180>>2]=c+e;if(!b){break n}qn(b)}i[a+92>>2]=-1;i[a+84>>2]=-1;i[a+88>>2]=-1;i[a+40>>2]=i[a+36>>2];i[a- -64>>2]=0;i[a+52>>2]=i[a+48>>2];i[a+76>>2]=i[a+72>>2];r=a+216|0;c=i[a+220>>2];e=i[a+216>>2];if((c|0)==(e|0)){break c}while(1){b=i[c+ -12>>2];if(b){i[c+ -8>>2]=b;qn(b)}b=i[c+ -28>>2];if(b){i[c+ -24>>2]=b;qn(b)}b=c+ -144|0;d=i[c+ -40>>2];if(d){i[c+ -36>>2]=d;qn(d)}Tf(c+ -140|0);c=b;if((e|0)!=(b|0)){continue}break}b=i[r>>2];break b}e=0;break a}Da(12220);x()}Da(12220);x()}b=e}i[a+220>>2]=e;c=(e-b|0)/144|0;o:{if(c>>>0>>0){Uf(r,s-c|0);break o}if(c>>>0<=s>>>0){break o}c=b+o(s,144)|0;if((c|0)!=(e|0)){while(1){b=i[e+ -12>>2];if(b){i[e+ -8>>2]=b;qn(b)}b=i[e+ -28>>2];if(b){i[e+ -24>>2]=b;qn(b)}b=e+ -144|0;d=i[e+ -40>>2];if(d){i[e+ -36>>2]=d;qn(d)}Tf(e+ -140|0);e=b;if((b|0)!=(c|0)){continue}break}}i[a+220>>2]=c}e=0;if(!Ik(i[f>>2],h,i[n>>2]+q|0)){break a}b=i[a+156>>2];g[p|0]=1;Lf(a+120|0,b+q|0,p);c=i[a+4>>2];b=k[c+36>>1];b=(b<<24|b<<8&16711680)>>>16|0;p:{if(b>>>0<=513){d=i[c+32>>2];q:{if(b>>>0<=511){h=i[d+12>>2];b=i[d+20>>2];n=i[d+16>>2];c=n+4|0;if(c>>>0<4){b=b+1|0}t=c;c=b;if((h|0)<(b|0)?1:(h|0)<=(b|0)?l[d+8>>2]>>0:0){break a}b=n+i[d>>2]|0;h=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+44>>2]=h;i[d+16>>2]=t;i[d+20>>2]=c;break q}if(!Rf(1,p+44|0,d)){break a}h=i[p+44>>2]}if(!h){break a}b=i[i[a+4>>2]+32>>2];c=i[b+8>>2];d=i[b+16>>2];b=i[b+12>>2]-(i[b+20>>2]+(c>>>0>>0)|0)|0;if((b|0)<0?1:(b|0)<=0?c-d>>>0>>0:0){break a}d=Bh(p);c=i[i[a+4>>2]+32>>2];b=i[c+16>>2];n=i[c+8>>2];Dh(d,(b+i[c>>2]|0)+h|0,(n-b|0)-h|0,k[c+38>>1]);c=Vf(a,d);if((c|0)==-1){break a}b=c;d=b>>31;break p}b=-1;d=-1;if((Vf(a,i[c+32>>2])|0)==-1){break a}}i[a+376>>2]=a;n=a+232|0;c=i[(O[i[i[a>>2]+32>>2]](a)|0)+32>>2];t=i[c>>2]+i[c+16>>2]|0;h=i[(O[i[i[a>>2]+32>>2]](a)|0)+32>>2];c=i[h+8>>2];e=i[h+16>>2];Dh(n,t,c-e|0,k[i[(O[i[i[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);v=a,w=O[i[i[a>>2]+36>>2]](a)|0,i[v+380>>2]=w;i[a+372>>2]=s;i[a+384>>2]=i[a+156>>2]+q;e=0;c=Bh(p);r:{if(!mg(n,c)){break r}h=ng(a,m);if((h|0)==-1){break r}m=i[i[a+4>>2]+32>>2];e=i[c+16>>2];n=e+i[c>>2]|0;c=i[c+8>>2];Dh(m,n,c-e|0,k[m+38>>1]);c=i[a+4>>2];e=k[c+36>>1];m=(e<<24|e<<8&16711680)>>>16|0;if(m>>>0<=513){e=i[c+32>>2];n=e;q=e;c=d+i[e+20>>2]|0;e=b+i[e+16>>2]|0;if(e>>>0>>0){c=c+1|0}i[q+16>>2]=e;i[n+20>>2]=c}s:{if(i[a+220>>2]==i[a+216>>2]){break s}c=i[f>>2];b=i[c>>2];c=i[c+4>>2];t:{if(m>>>0>=513){if((b|0)==(c|0)){break s}c=0;break t}if((b|0)==(c|0)){break s}c=0;while(1){if(Yf(a,c)){c=c+3|0;b=i[f>>2];if(c>>>0>2]-i[b>>2]>>2>>>0){continue}break s}break}e=0;break r}while(1){if(Zf(a,c)){c=c+3|0;b=i[f>>2];if(c>>>0>2]-i[b>>2]>>2>>>0){continue}break s}break}e=0;break r}if(j[a+308|0]){Gh(a+272|0)}if(k[a+270>>1]<=513){Gh(a+328|0)}c=i[a+216>>2];if((c|0)!=i[a+220>>2]){n=0;while(1){e=o(n,144);Sk((e+c|0)+4|0,i[f>>2]);b=i[r>>2];c=b+e|0;d=i[c+132>>2];m=i[c+136>>2];if((d|0)!=(m|0)){Uk(c+4|0,i[d>>2]);c=d+4|0;if((m|0)!=(c|0)){while(1){Uk((e+i[r>>2]|0)+4|0,i[c>>2]);c=c+4|0;if((m|0)!=(c|0)){continue}break}}b=i[r>>2]}Tk((b+e|0)+4|0);n=n+1|0;c=i[a+216>>2];if(n>>>0<(i[a+220>>2]-c|0)/144>>>0){continue}break}}b=i[a+8>>2];_f(a+184|0,i[b+28>>2]-i[b+24>>2]>>2);e=i[a+216>>2];if((e|0)!=i[a+220>>2]){c=0;while(1){b=o(c,144)+e|0;e=i[b+60>>2]-i[b+56>>2]>>2;d=b+104|0;b=i[a+8>>2];b=i[b+28>>2]-i[b+24>>2]>>2;_f(d,(e|0)<(b|0)?b:e);c=c+1|0;e=i[a+216>>2];if(c>>>0<(i[a+220>>2]-e|0)/144>>>0){continue}break}}e=$f(a,h)}}L=p- -64|0;return e|0}function gg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,h=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;p=L+ -64|0;L=p;i[a+132>>2]=0;if(i[a+148>>2]){c=i[a+144>>2];if(c){while(1){b=i[c>>2];qn(c);c=b;if(b){continue}break}}i[a+144>>2]=0;b=i[a+140>>2];if(b){c=0;while(1){i[i[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;if((b|0)!=(c|0)){continue}break}}i[a+148>>2]=0}a:{b:{c:{d:{e:{f:{c=i[a+4>>2];e=j[c+36|0];b=e<<8|j[c+37|0];g:{if(b>>>0>513){break g}f=i[c+32>>2];if(b>>>0<=511){m=i[f+12>>2];b=i[f+20>>2];h=i[f+16>>2];d=h+4|0;if(d>>>0<4){b=b+1|0}n=d;d=b;if((m|0)<(b|0)?1:(m|0)<=(b|0)?l[f+8>>2]>>0:0){break f}b=h+i[f>>2]|0;b=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p>>2]=b;i[f+16>>2]=n;i[f+20>>2]=d;i[a+132>>2]=b;break g}if(!Rf(1,p,f)){break f}c=i[a+4>>2];e=j[c+36|0];i[a+132>>2]=i[p>>2]}f=i[c+32>>2];h:{i:{j:{if((e&255)>>>0<=1){e=0;m=i[f+12>>2];b=i[f+20>>2];h=i[f+16>>2];d=h+4|0;if(d>>>0<4){b=b+1|0}n=d;d=b;if((m|0)<(b|0)?1:(m|0)<=(b|0)?l[f+8>>2]>>0:0){break a}b=h+i[f>>2]|0;b=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+60>>2]=b;i[f+16>>2]=n;i[f+20>>2]=d;i[a+156>>2]=b;n=a+156|0;break j}e=0;if(!Rf(1,p+60|0,f)){break a}c=i[a+4>>2];b=j[c+36|0];i[a+156>>2]=i[p+60>>2];n=a+156|0;if(b>>>0>1){break i}}d=i[c+32>>2];b=i[d+8>>2];f=i[d+12>>2];q=b;b=i[d+20>>2];m=i[d+16>>2];c=m+4|0;if(c>>>0<4){b=b+1|0}s=c;c=b;if((f|0)<(b|0)?1:(f|0)<=(b|0)?q>>>0>>0:0){break a}b=m+i[d>>2]|0;h=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+56>>2]=h;i[d+16>>2]=s;i[d+20>>2]=c;break h}if(!Rf(1,p+56|0,i[c+32>>2])){break a}h=i[p+56>>2]}if(h>>>0>1431655765|l[n>>2]>o(h,3)>>>0){break a}r=i[a+4>>2];d=i[r+32>>2];t=i[d+8>>2];q=i[d+16>>2];f=i[d+12>>2];b=f;c=i[d+20>>2];if((b|0)<(c|0)?1:(b|0)<=(c|0)?t>>>0<=q>>>0:0){break a}u=i[d>>2];s=j[u+q|0];b=c;m=q+1|0;if(m>>>0<1){b=b+1|0}i[d+16>>2]=m;i[d+20>>2]=b;k:{if(j[r+36|0]<=1){b=c;c=q+5|0;if(c>>>0<5){b=b+1|0}q=c;c=b;if((f|0)<(b|0)?1:(f|0)<=(b|0)?t>>>0>>0:0){break a}b=m+u|0;m=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+52>>2]=m;i[d+16>>2]=q;i[d+20>>2]=c;break k}if(!Rf(1,p+52|0,d)){break a}m=i[p+52>>2]}if(h>>>0>>0|h>>>0>((m>>>0)/3|0)+m>>>0){break a}b=i[a+4>>2];d=i[b+32>>2];l:{if(j[b+36|0]<=1){f=i[d+12>>2];b=i[d+20>>2];q=i[d+16>>2];c=q+4|0;if(c>>>0<4){b=b+1|0}r=c;c=b;if((f|0)<(b|0)?1:(f|0)<=(b|0)?l[d+8>>2]>>0:0){break a}b=q+i[d>>2]|0;q=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+48>>2]=q;i[d+16>>2]=r;i[d+20>>2]=c;break l}if(!Rf(1,p+48|0,d)){break a}q=i[p+48>>2]}if(q>>>0>m>>>0){break a}i[a+28>>2]=i[a+24>>2];c=Gm(88);yk(c);b=i[a+8>>2];i[a+8>>2]=c;f=a+8|0;if(b){Sf(f,b);if(!i[f>>2]){break a}}b=i[a+160>>2];i[a+164>>2]=b;m:{if(i[a+168>>2]-b>>2>>>0>=h>>>0){break m}if(h>>>0>=1073741824){break e}e=h<<2;c=Gm(e);i[a+164>>2]=c;i[a+160>>2]=c;i[a+168>>2]=c+e;if(!b){break m}qn(b)}b=i[a+172>>2];i[a+176>>2]=b;n:{if(i[a+180>>2]-b>>2>>>0>=h>>>0){break n}if(h>>>0>=1073741824){break d}e=h<<2;c=Gm(e);i[a+176>>2]=c;i[a+172>>2]=c;i[a+180>>2]=c+e;if(!b){break n}qn(b)}i[a+92>>2]=-1;i[a+84>>2]=-1;i[a+88>>2]=-1;i[a+40>>2]=i[a+36>>2];i[a- -64>>2]=0;i[a+52>>2]=i[a+48>>2];i[a+76>>2]=i[a+72>>2];r=a+216|0;c=i[a+220>>2];e=i[a+216>>2];if((c|0)==(e|0)){break c}while(1){b=i[c+ -12>>2];if(b){i[c+ -8>>2]=b;qn(b)}b=i[c+ -28>>2];if(b){i[c+ -24>>2]=b;qn(b)}b=c+ -144|0;d=i[c+ -40>>2];if(d){i[c+ -36>>2]=d;qn(d)}Tf(c+ -140|0);c=b;if((e|0)!=(b|0)){continue}break}b=i[r>>2];break b}e=0;break a}Da(12220);x()}Da(12220);x()}b=e}i[a+220>>2]=e;c=(e-b|0)/144|0;o:{if(c>>>0>>0){Uf(r,s-c|0);break o}if(c>>>0<=s>>>0){break o}c=b+o(s,144)|0;if((c|0)!=(e|0)){while(1){b=i[e+ -12>>2];if(b){i[e+ -8>>2]=b;qn(b)}b=i[e+ -28>>2];if(b){i[e+ -24>>2]=b;qn(b)}b=e+ -144|0;d=i[e+ -40>>2];if(d){i[e+ -36>>2]=d;qn(d)}Tf(e+ -140|0);e=b;if((b|0)!=(c|0)){continue}break}}i[a+220>>2]=c}e=0;if(!Ik(i[f>>2],h,i[n>>2]+q|0)){break a}b=i[a+156>>2];g[p|0]=1;Lf(a+120|0,b+q|0,p);c=i[a+4>>2];b=k[c+36>>1];b=(b<<24|b<<8&16711680)>>>16|0;p:{if(b>>>0<=513){d=i[c+32>>2];q:{if(b>>>0<=511){h=i[d+12>>2];b=i[d+20>>2];n=i[d+16>>2];c=n+4|0;if(c>>>0<4){b=b+1|0}t=c;c=b;if((h|0)<(b|0)?1:(h|0)<=(b|0)?l[d+8>>2]>>0:0){break a}b=n+i[d>>2]|0;h=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+44>>2]=h;i[d+16>>2]=t;i[d+20>>2]=c;break q}if(!Rf(1,p+44|0,d)){break a}h=i[p+44>>2]}if(!h){break a}b=i[i[a+4>>2]+32>>2];c=i[b+8>>2];d=i[b+16>>2];b=i[b+12>>2]-(i[b+20>>2]+(c>>>0>>0)|0)|0;if((b|0)<0?1:(b|0)<=0?c-d>>>0>>0:0){break a}d=Bh(p);c=i[i[a+4>>2]+32>>2];b=i[c+16>>2];n=i[c+8>>2];Dh(d,(b+i[c>>2]|0)+h|0,(n-b|0)-h|0,k[c+38>>1]);c=Vf(a,d);if((c|0)==-1){break a}b=c;d=b>>31;break p}b=-1;d=-1;if((Vf(a,i[c+32>>2])|0)==-1){break a}}i[a+376>>2]=a;n=a+232|0;c=i[(O[i[i[a>>2]+32>>2]](a)|0)+32>>2];t=i[c>>2]+i[c+16>>2]|0;h=i[(O[i[i[a>>2]+32>>2]](a)|0)+32>>2];c=i[h+8>>2];e=i[h+16>>2];Dh(n,t,c-e|0,k[i[(O[i[i[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);v=a,w=O[i[i[a>>2]+36>>2]](a)|0,i[v+380>>2]=w;i[a+372>>2]=s;i[a+384>>2]=i[a+156>>2]+q;e=0;c=Bh(p);r:{if(!hg(n,c)){break r}h=ig(a,m);if((h|0)==-1){break r}m=i[i[a+4>>2]+32>>2];e=i[c+16>>2];n=e+i[c>>2]|0;c=i[c+8>>2];Dh(m,n,c-e|0,k[m+38>>1]);c=i[a+4>>2];e=k[c+36>>1];m=(e<<24|e<<8&16711680)>>>16|0;if(m>>>0<=513){e=i[c+32>>2];n=e;q=e;c=d+i[e+20>>2]|0;e=b+i[e+16>>2]|0;if(e>>>0>>0){c=c+1|0}i[q+16>>2]=e;i[n+20>>2]=c}s:{if(i[a+220>>2]==i[a+216>>2]){break s}c=i[f>>2];b=i[c>>2];c=i[c+4>>2];t:{if(m>>>0>=513){if((b|0)==(c|0)){break s}c=0;break t}if((b|0)==(c|0)){break s}c=0;while(1){if(Yf(a,c)){c=c+3|0;b=i[f>>2];if(c>>>0>2]-i[b>>2]>>2>>>0){continue}break s}break}e=0;break r}while(1){if(Zf(a,c)){c=c+3|0;b=i[f>>2];if(c>>>0>2]-i[b>>2]>>2>>>0){continue}break s}break}e=0;break r}if(j[a+308|0]){Gh(a+272|0)}if(k[a+270>>1]<=513){Gh(a+328|0)}c=i[a+216>>2];if((c|0)!=i[a+220>>2]){n=0;while(1){e=o(n,144);Sk((e+c|0)+4|0,i[f>>2]);b=i[r>>2];c=b+e|0;d=i[c+132>>2];m=i[c+136>>2];if((d|0)!=(m|0)){Uk(c+4|0,i[d>>2]);c=d+4|0;if((m|0)!=(c|0)){while(1){Uk((e+i[r>>2]|0)+4|0,i[c>>2]);c=c+4|0;if((m|0)!=(c|0)){continue}break}}b=i[r>>2]}Tk((b+e|0)+4|0);n=n+1|0;c=i[a+216>>2];if(n>>>0<(i[a+220>>2]-c|0)/144>>>0){continue}break}}b=i[a+8>>2];_f(a+184|0,i[b+28>>2]-i[b+24>>2]>>2);e=i[a+216>>2];if((e|0)!=i[a+220>>2]){c=0;while(1){b=o(c,144)+e|0;e=i[b+60>>2]-i[b+56>>2]>>2;d=b+104|0;b=i[a+8>>2];b=i[b+28>>2]-i[b+24>>2]>>2;_f(d,(e|0)<(b|0)?b:e);c=c+1|0;e=i[a+216>>2];if(c>>>0<(i[a+220>>2]-e|0)/144>>>0){continue}break}}e=$f(a,h)}}L=p- -64|0;return e|0}function Qf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,h=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;p=L+ -64|0;L=p;i[a+132>>2]=0;if(i[a+148>>2]){c=i[a+144>>2];if(c){while(1){b=i[c>>2];qn(c);c=b;if(b){continue}break}}i[a+144>>2]=0;b=i[a+140>>2];if(b){c=0;while(1){i[i[a+136>>2]+(c<<2)>>2]=0;c=c+1|0;if((b|0)!=(c|0)){continue}break}}i[a+148>>2]=0}a:{b:{c:{d:{e:{f:{c=i[a+4>>2];e=j[c+36|0];b=e<<8|j[c+37|0];g:{if(b>>>0>513){break g}f=i[c+32>>2];if(b>>>0<=511){m=i[f+12>>2];b=i[f+20>>2];h=i[f+16>>2];d=h+4|0;if(d>>>0<4){b=b+1|0}n=d;d=b;if((m|0)<(b|0)?1:(m|0)<=(b|0)?l[f+8>>2]>>0:0){break f}b=h+i[f>>2]|0;b=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p>>2]=b;i[f+16>>2]=n;i[f+20>>2]=d;i[a+132>>2]=b;break g}if(!Rf(1,p,f)){break f}c=i[a+4>>2];e=j[c+36|0];i[a+132>>2]=i[p>>2]}f=i[c+32>>2];h:{i:{j:{if((e&255)>>>0<=1){e=0;m=i[f+12>>2];b=i[f+20>>2];h=i[f+16>>2];d=h+4|0;if(d>>>0<4){b=b+1|0}n=d;d=b;if((m|0)<(b|0)?1:(m|0)<=(b|0)?l[f+8>>2]>>0:0){break a}b=h+i[f>>2]|0;b=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+60>>2]=b;i[f+16>>2]=n;i[f+20>>2]=d;i[a+156>>2]=b;n=a+156|0;break j}e=0;if(!Rf(1,p+60|0,f)){break a}c=i[a+4>>2];b=j[c+36|0];i[a+156>>2]=i[p+60>>2];n=a+156|0;if(b>>>0>1){break i}}d=i[c+32>>2];b=i[d+8>>2];f=i[d+12>>2];q=b;b=i[d+20>>2];m=i[d+16>>2];c=m+4|0;if(c>>>0<4){b=b+1|0}s=c;c=b;if((f|0)<(b|0)?1:(f|0)<=(b|0)?q>>>0>>0:0){break a}b=m+i[d>>2]|0;h=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+56>>2]=h;i[d+16>>2]=s;i[d+20>>2]=c;break h}if(!Rf(1,p+56|0,i[c+32>>2])){break a}h=i[p+56>>2]}if(h>>>0>1431655765|l[n>>2]>o(h,3)>>>0){break a}r=i[a+4>>2];d=i[r+32>>2];t=i[d+8>>2];q=i[d+16>>2];f=i[d+12>>2];b=f;c=i[d+20>>2];if((b|0)<(c|0)?1:(b|0)<=(c|0)?t>>>0<=q>>>0:0){break a}u=i[d>>2];s=j[u+q|0];b=c;m=q+1|0;if(m>>>0<1){b=b+1|0}i[d+16>>2]=m;i[d+20>>2]=b;k:{if(j[r+36|0]<=1){b=c;c=q+5|0;if(c>>>0<5){b=b+1|0}q=c;c=b;if((f|0)<(b|0)?1:(f|0)<=(b|0)?t>>>0>>0:0){break a}b=m+u|0;m=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+52>>2]=m;i[d+16>>2]=q;i[d+20>>2]=c;break k}if(!Rf(1,p+52|0,d)){break a}m=i[p+52>>2]}if(h>>>0>>0|h>>>0>((m>>>0)/3|0)+m>>>0){break a}b=i[a+4>>2];d=i[b+32>>2];l:{if(j[b+36|0]<=1){f=i[d+12>>2];b=i[d+20>>2];q=i[d+16>>2];c=q+4|0;if(c>>>0<4){b=b+1|0}t=c;c=b;if((f|0)<(b|0)?1:(f|0)<=(b|0)?l[d+8>>2]>>0:0){break a}b=q+i[d>>2]|0;r=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+48>>2]=r;i[d+16>>2]=t;i[d+20>>2]=c;break l}if(!Rf(1,p+48|0,d)){break a}r=i[p+48>>2]}if(r>>>0>m>>>0){break a}i[a+28>>2]=i[a+24>>2];c=Gm(88);yk(c);b=i[a+8>>2];i[a+8>>2]=c;f=a+8|0;if(b){Sf(f,b);if(!i[f>>2]){break a}}b=i[a+160>>2];i[a+164>>2]=b;m:{if(i[a+168>>2]-b>>2>>>0>=h>>>0){break m}if(h>>>0>=1073741824){break e}e=h<<2;c=Gm(e);i[a+164>>2]=c;i[a+160>>2]=c;i[a+168>>2]=c+e;if(!b){break m}qn(b)}b=i[a+172>>2];i[a+176>>2]=b;n:{if(i[a+180>>2]-b>>2>>>0>=h>>>0){break n}if(h>>>0>=1073741824){break d}e=h<<2;c=Gm(e);i[a+176>>2]=c;i[a+172>>2]=c;i[a+180>>2]=c+e;if(!b){break n}qn(b)}i[a+92>>2]=-1;i[a+84>>2]=-1;i[a+88>>2]=-1;i[a+40>>2]=i[a+36>>2];i[a- -64>>2]=0;i[a+52>>2]=i[a+48>>2];i[a+76>>2]=i[a+72>>2];q=a+216|0;c=i[a+220>>2];e=i[a+216>>2];if((c|0)==(e|0)){break c}while(1){b=i[c+ -12>>2];if(b){i[c+ -8>>2]=b;qn(b)}b=i[c+ -28>>2];if(b){i[c+ -24>>2]=b;qn(b)}b=c+ -144|0;d=i[c+ -40>>2];if(d){i[c+ -36>>2]=d;qn(d)}Tf(c+ -140|0);c=b;if((e|0)!=(b|0)){continue}break}b=i[q>>2];break b}e=0;break a}Da(12220);x()}Da(12220);x()}b=e}i[a+220>>2]=e;c=(e-b|0)/144|0;o:{if(c>>>0>>0){Uf(q,s-c|0);break o}if(c>>>0<=s>>>0){break o}c=b+o(s,144)|0;if((c|0)!=(e|0)){while(1){b=i[e+ -12>>2];if(b){i[e+ -8>>2]=b;qn(b)}b=i[e+ -28>>2];if(b){i[e+ -24>>2]=b;qn(b)}b=e+ -144|0;d=i[e+ -40>>2];if(d){i[e+ -36>>2]=d;qn(d)}Tf(e+ -140|0);e=b;if((b|0)!=(c|0)){continue}break}}i[a+220>>2]=c}e=0;if(!Ik(i[f>>2],h,i[n>>2]+r|0)){break a}b=i[a+156>>2];g[p|0]=1;Lf(a+120|0,b+r|0,p);c=i[a+4>>2];b=k[c+36>>1];b=(b<<24|b<<8&16711680)>>>16|0;p:{if(b>>>0<=513){d=i[c+32>>2];q:{if(b>>>0<=511){h=i[d+12>>2];b=i[d+20>>2];n=i[d+16>>2];c=n+4|0;if(c>>>0<4){b=b+1|0}r=c;c=b;if((h|0)<(b|0)?1:(h|0)<=(b|0)?l[d+8>>2]>>0:0){break a}b=n+i[d>>2]|0;h=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[p+44>>2]=h;i[d+16>>2]=r;i[d+20>>2]=c;break q}if(!Rf(1,p+44|0,d)){break a}h=i[p+44>>2]}if(!h){break a}b=i[i[a+4>>2]+32>>2];c=i[b+8>>2];d=i[b+16>>2];b=i[b+12>>2]-(i[b+20>>2]+(c>>>0>>0)|0)|0;if((b|0)<0?1:(b|0)<=0?c-d>>>0>>0:0){break a}d=Bh(p);c=i[i[a+4>>2]+32>>2];b=i[c+16>>2];n=i[c+8>>2];Dh(d,(b+i[c>>2]|0)+h|0,(n-b|0)-h|0,k[c+38>>1]);c=Vf(a,d);if((c|0)==-1){break a}b=c;d=b>>31;break p}b=-1;d=-1;if((Vf(a,i[c+32>>2])|0)==-1){break a}}i[a+376>>2]=a;n=a+232|0;c=i[(O[i[i[a>>2]+32>>2]](a)|0)+32>>2];r=i[c>>2]+i[c+16>>2]|0;h=i[(O[i[i[a>>2]+32>>2]](a)|0)+32>>2];c=i[h+8>>2];e=i[h+16>>2];Dh(n,r,c-e|0,k[i[(O[i[i[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);i[a+372>>2]=s;e=0;c=Bh(p);r:{if(!Wf(n,c)){break r}h=Xf(a,m);if((h|0)==-1){break r}m=i[i[a+4>>2]+32>>2];e=i[c+16>>2];n=e+i[c>>2]|0;c=i[c+8>>2];Dh(m,n,c-e|0,k[m+38>>1]);c=i[a+4>>2];e=k[c+36>>1];m=(e<<24|e<<8&16711680)>>>16|0;if(m>>>0<=513){e=i[c+32>>2];n=e;r=e;c=d+i[e+20>>2]|0;e=b+i[e+16>>2]|0;if(e>>>0>>0){c=c+1|0}i[r+16>>2]=e;i[n+20>>2]=c}s:{if(i[a+220>>2]==i[a+216>>2]){break s}c=i[f>>2];b=i[c>>2];c=i[c+4>>2];t:{if(m>>>0>=513){if((b|0)==(c|0)){break s}c=0;break t}if((b|0)==(c|0)){break s}c=0;while(1){if(Yf(a,c)){c=c+3|0;b=i[f>>2];if(c>>>0>2]-i[b>>2]>>2>>>0){continue}break s}break}e=0;break r}while(1){if(Zf(a,c)){c=c+3|0;b=i[f>>2];if(c>>>0>2]-i[b>>2]>>2>>>0){continue}break s}break}e=0;break r}if(j[a+308|0]){Gh(a+272|0)}if(k[a+270>>1]<=513){Gh(a+328|0)}c=i[a+216>>2];if((c|0)!=i[a+220>>2]){n=0;while(1){e=o(n,144);Sk((e+c|0)+4|0,i[f>>2]);b=i[q>>2];c=b+e|0;d=i[c+132>>2];m=i[c+136>>2];if((d|0)!=(m|0)){Uk(c+4|0,i[d>>2]);c=d+4|0;if((m|0)!=(c|0)){while(1){Uk((e+i[q>>2]|0)+4|0,i[c>>2]);c=c+4|0;if((m|0)!=(c|0)){continue}break}}b=i[q>>2]}Tk((b+e|0)+4|0);n=n+1|0;c=i[a+216>>2];if(n>>>0<(i[a+220>>2]-c|0)/144>>>0){continue}break}}b=i[a+8>>2];_f(a+184|0,i[b+28>>2]-i[b+24>>2]>>2);e=i[a+216>>2];if((e|0)!=i[a+220>>2]){c=0;while(1){b=o(c,144)+e|0;e=i[b+60>>2]-i[b+56>>2]>>2;d=b+104|0;b=i[a+8>>2];b=i[b+28>>2]-i[b+24>>2]>>2;_f(d,(e|0)<(b|0)?b:e);c=c+1|0;e=i[a+216>>2];if(c>>>0<(i[a+220>>2]-e|0)/144>>>0){continue}break}}e=$f(a,h)}}L=p- -64|0;return e|0}function ub(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;g=L-32|0;L=g;f=i[a+12>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{if(f){if(f>>>0>=1073741824){break a}e=f<<2;h=Gm(e);i[g+8>>2]=h;d=e+h|0;i[g+16>>2]=d;tn(h,0,e);i[g+12>>2]=d}k=i[a+120>>2];e=i[k>>2];if(e){i[k+4>>2]=e;qn(e);i[k+8>>2]=0;i[k>>2]=0;i[k+4>>2]=0;f=i[a+12>>2];h=i[g+8>>2];d=i[g+12>>2]}i[k+4>>2]=d;i[k>>2]=h;i[k+8>>2]=i[g+16>>2];h=0;i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;b:{if(f){if(f>>>0>=1073741824){break b}e=f<<2;m=Gm(e);i[g+8>>2]=m;h=e+m|0;i[g+16>>2]=h;tn(m,0,e);i[g+12>>2]=h}d=i[a+132>>2];e=i[d>>2];if(e){i[d+4>>2]=e;qn(e);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;m=i[g+8>>2];h=i[g+12>>2]}i[d+4>>2]=h;i[d>>2]=m;i[d+8>>2]=i[g+16>>2];h=g+24|0;i[h>>2]=0;i[h+4>>2]=0;d=g+16|0;i[d>>2]=0;i[d+4>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;Pb(g+8|0);k=i[g+12>>2];e=0;c:{if((k|0)==i[d>>2]){break c}d=i[h>>2]+i[g+28>>2]|0;e=(d>>>0)/341|0;e=i[k+(e<<2)>>2]+o(d-o(e,341)|0,12)|0}i[e+4>>2]=0;i[e+8>>2]=0;i[e>>2]=b;k=1;e=i[g+28>>2];f=e+1|0;i[g+28>>2]=f;d:{if(f>>>0>>0){break d}while(1){e=i[g+12>>2];k=f+ -1|0;n=k+i[g+24>>2]|0;d=(n>>>0)/341|0;d=i[e+(d<<2)>>2]+o(n-o(d,341)|0,12)|0;u=i[d+8>>2];h=i[d+4>>2];t=i[d>>2];i[g+28>>2]=k;d=i[g+16>>2];e=d-e|0;if((e?o(e>>2,341)+ -1|0:0)-n>>>0>=682){qn(i[d+ -4>>2]);i[g+16>>2]=i[g+16>>2]+ -4}k=0;if(t>>>0>b>>>0){break d}e=i[a+120>>2];v=o(u,12);A=v+i[a+132>>2]|0;m=xl(a,A,h);if(m>>>0>=l[a+12>>2]){break d}z=e+v|0;e:{f:{w=m<<2;e=i[a>>2]-i[w+i[A>>2]>>2]|0;if(!e){if(!t){break f}q=0;while(1){e=0;f=i[c+16>>2];g:{if((f|0)==i[c+20>>2]){break g}while(1){k=o(e,20)+f|0;d=i[z>>2]+(i[k+4>>2]<<2)|0;s=i[k>>2];m=i[k+12>>2];h:{if(m>>>0>3){break h}h=i[c+12>>2];p=k+16|0;if(!i[p>>2]){d=h;break h}n=k+12|0;f=0;while(1){k=sn(h,(f<<2)+d|0,m);m=i[n>>2];h=k+m|0;f=f+1|0;if(f>>>0>2]){continue}break}d=i[c+12>>2]}f=i[c+28>>2];f=j[s+84|0]?f:i[i[s+68>>2]+(f<<2)>>2];if(f>>>0>=l[s+80>>2]){break g}k=i[s+40>>2];sn(i[i[s>>2]>>2]+o(k,f)|0,d,k);e=e+1|0;f=i[c+16>>2];if(e>>>0<(i[c+20>>2]-f|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;q=q+1|0;if((t|0)!=(q|0)){continue}break}break f}i:{j:{k:{l:{if(t>>>0<=2){e=i[a+108>>2];i[e>>2]=m;h=1;f=i[a+12>>2];if(f>>>0>1){break l}break i}if(l[a+8>>2]>l[a+4>>2]){break d}k=1<>2];q=u+1|0;s=o(q,12);d=e+s|0;if((d|0)!=(z|0)){wa(d,i[z>>2],i[z+4>>2]);e=i[a+120>>2]}e=w+i[e+s>>2]|0;i[e>>2]=k+i[e>>2];p=r(t)^31;n=i[a+32>>2];k=32-n|0;m:{if((p|0)<=(k|0)){h=i[a+28>>2];if((h|0)==i[a+20>>2]){k=0;break m}d=i[h>>2];e=n+p|0;i[a+32>>2]=e;k=d<>>32-p|0;if((e|0)!=32){break m}i[a+32>>2]=0;i[a+28>>2]=h+4;break m}h=i[a+28>>2];e=h+4|0;if((e|0)==i[a+20>>2]){k=0;break m}d=i[h>>2];i[a+28>>2]=e;e=p-k|0;i[a+32>>2]=e;k=i[h+4>>2]>>>32-e|d<>>32-p}d=(t>>>1|0)-k|0;k=t-d|0;n:{if((k|0)==(d|0)){e=d;break n}p=i[a+88>>2];if((p|0)==i[a+80>>2]){break k}n=i[p>>2];h=i[a+92>>2];e=h+1|0;i[a+92>>2]=e;h=n&-2147483648>>>h;o:{if((e|0)==32){i[a+92>>2]=0;i[a+88>>2]=p+4;if(h){break o}break k}if(!h){break k}}e=k}k=d;break j}while(1){m=(f+ -1|0)==(m|0)?0:m+1|0;i[e+(h<<2)>>2]=m;h=h+1|0;f=i[a+12>>2];if(h>>>0>>0){continue}break}break i}e=d}p=i[a+132>>2];n=p+v|0;h=i[n>>2];d=h+w|0;i[d>>2]=i[d>>2]+1;wa(p+s|0,h,i[n+4>>2]);if(k){d=i[g+28>>2]+i[g+24>>2]|0;n=i[g+16>>2];f=i[g+12>>2];h=n-f|0;if((d|0)==((h?o(h>>2,341)+ -1|0:0)|0)){Pb(g+8|0);f=i[g+12>>2];n=i[g+16>>2];d=i[g+24>>2]+i[g+28>>2]|0}if((f|0)==(n|0)){d=0}else{h=(d>>>0)/341|0;d=i[(h<<2)+f>>2]+o(d-o(h,341)|0,12)|0}i[d+8>>2]=u;i[d+4>>2]=m;i[d>>2]=k;i[g+28>>2]=i[g+28>>2]+1}if(!e){break f}h=i[g+28>>2]+i[g+24>>2]|0;d=i[g+16>>2];f=i[g+12>>2];k=d-f|0;if((h|0)==((k?o(k>>2,341)+ -1|0:0)|0)){Pb(g+8|0);f=i[g+12>>2];h=i[g+24>>2]+i[g+28>>2]|0;d=i[g+16>>2]}if((d|0)==(f|0)){d=0}else{d=(h>>>0)/341|0;d=i[(d<<2)+f>>2]+o(h-o(d,341)|0,12)|0}i[d+8>>2]=q;i[d+4>>2]=m;i[d>>2]=e;f=i[g+28>>2]+1|0;i[g+28>>2]=f;break e}if(!t){break f}v=0;while(1){if(f){p=i[z>>2];n=i[A>>2];u=i[a+96>>2];h=i[a+108>>2];f=0;while(1){w=h+(f<<2)|0;i[u+(i[w>>2]<<2)>>2]=0;e=i[w>>2]<<2;y=i[a>>2]-i[e+n>>2]|0;p:{if(!y){break p}m=e+u|0;s=i[a+52>>2];k=32-s|0;if((y|0)<=(k|0)){d=i[a+48>>2];if((d|0)==i[a+40>>2]){i[m>>2]=0;break p}i[m>>2]=i[d>>2]<>>32-y;e=y+i[a+52>>2]|0;i[a+52>>2]=e;if((e|0)!=32){break p}i[a+52>>2]=0;i[a+48>>2]=d+4;break p}q=i[a+48>>2];e=q+4|0;if((e|0)==i[a+40>>2]){i[m>>2]=0;break p}d=i[q>>2];i[a+48>>2]=e;e=y-k|0;i[a+52>>2]=e;i[m>>2]=i[q+4>>2]>>>32-e|d<>>32-y}d=i[w>>2]<<2;e=d+u|0;i[e>>2]=i[e>>2]|i[d+p>>2];f=f+1|0;if(f>>>0>2]){continue}break}}e=0;f=i[c+16>>2];q:{if((f|0)==i[c+20>>2]){break q}while(1){k=o(e,20)+f|0;d=i[a+96>>2]+(i[k+4>>2]<<2)|0;q=i[k>>2];m=i[k+12>>2];r:{if(m>>>0>3){break r}h=i[c+12>>2];p=k+16|0;if(!i[p>>2]){d=h;break r}n=k+12|0;f=0;while(1){k=sn(h,(f<<2)+d|0,m);m=i[n>>2];h=k+m|0;f=f+1|0;if(f>>>0>2]){continue}break}d=i[c+12>>2]}f=i[c+28>>2];f=j[q+84|0]?f:i[i[q+68>>2]+(f<<2)>>2];if(f>>>0>=l[q+80>>2]){break q}k=i[q+40>>2];sn(i[i[q>>2]>>2]+o(k,f)|0,d,k);e=e+1|0;f=i[c+16>>2];if(e>>>0<(i[c+20>>2]-f|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;v=v+1|0;if((v|0)==(t|0)){break f}f=i[a+12>>2];continue}}f=i[g+28>>2]}if(f){continue}break}k=1}b=i[g+24>>2];a=(b>>>0)/341|0;f=i[g+12>>2];h=i[g+16>>2];s:{if((f|0)==(h|0)){break s}d=(a<<2)+f|0;m=i[d>>2]+o(b-o(a,341)|0,12)|0;b=b+i[g+28>>2]|0;a=(b>>>0)/341|0;a=i[(a<<2)+f>>2]+o(b-o(a,341)|0,12)|0;if((m|0)==(a|0)){break s}while(1){m=m+12|0;if((m-i[d>>2]|0)==4092){m=i[d+4>>2];d=d+4|0}if((a|0)!=(m|0)){continue}break}}i[g+28>>2]=0;m=h-f>>2;if(m>>>0>2){while(1){qn(i[f>>2]);f=i[g+12>>2]+4|0;i[g+12>>2]=f;h=i[g+16>>2];m=h-f>>2;if(m>>>0>2){continue}break}}d=170;t:{switch(m+ -1|0){case 1:d=341;case 0:i[g+24>>2]=d;break;default:break t}}u:{if((f|0)==(h|0)){break u}while(1){qn(i[f>>2]);f=f+4|0;if((h|0)!=(f|0)){continue}break}b=i[g+16>>2];a=i[g+12>>2];if((b|0)==(a|0)){break u}i[g+16>>2]=b+(((b-a|0)+ -4>>>2^-1)<<2)}a=i[g+8>>2];if(a){qn(a)}L=g+32|0;return k}Vm();x()}Vm();x()}function wb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;g=L-32|0;L=g;f=i[a+12>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{if(f){if(f>>>0>=1073741824){break a}d=f<<2;h=Gm(d);i[g+8>>2]=h;e=d+h|0;i[g+16>>2]=e;tn(h,0,d);i[g+12>>2]=e}k=i[a+120>>2];d=i[k>>2];if(d){i[k+4>>2]=d;qn(d);i[k+8>>2]=0;i[k>>2]=0;i[k+4>>2]=0;f=i[a+12>>2];h=i[g+8>>2];e=i[g+12>>2]}i[k+4>>2]=e;i[k>>2]=h;i[k+8>>2]=i[g+16>>2];h=0;i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;b:{if(f){if(f>>>0>=1073741824){break b}d=f<<2;m=Gm(d);i[g+8>>2]=m;h=d+m|0;i[g+16>>2]=h;tn(m,0,d);i[g+12>>2]=h}e=i[a+132>>2];d=i[e>>2];if(d){i[e+4>>2]=d;qn(d);i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;m=i[g+8>>2];h=i[g+12>>2]}i[e+4>>2]=h;i[e>>2]=m;i[e+8>>2]=i[g+16>>2];h=g+24|0;i[h>>2]=0;i[h+4>>2]=0;e=g+16|0;i[e>>2]=0;i[e+4>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;Pb(g+8|0);k=i[g+12>>2];d=0;c:{if((k|0)==i[e>>2]){break c}e=i[h>>2]+i[g+28>>2]|0;d=(e>>>0)/341|0;d=i[k+(d<<2)>>2]+o(e-o(d,341)|0,12)|0}i[d+4>>2]=0;i[d+8>>2]=0;i[d>>2]=b;k=1;d=i[g+28>>2];f=d+1|0;i[g+28>>2]=f;d:{if(f>>>0>>0){break d}while(1){d=i[g+12>>2];k=f+ -1|0;n=k+i[g+24>>2]|0;e=(n>>>0)/341|0;e=i[d+(e<<2)>>2]+o(n-o(e,341)|0,12)|0;v=i[e+8>>2];h=i[e+4>>2];t=i[e>>2];i[g+28>>2]=k;e=i[g+16>>2];d=e-d|0;if((d?o(d>>2,341)+ -1|0:0)-n>>>0>=682){qn(i[e+ -4>>2]);i[g+16>>2]=i[g+16>>2]+ -4}if(t>>>0>b>>>0){k=0;break d}k=0;d=i[a+12>>2];m=(h|0)==(d+ -1|0)?0:h+1|0;if(m>>>0>=d>>>0){break d}d=i[a+120>>2];u=o(v,12);y=d+u|0;e:{f:{q=m<<2;s=u+i[a+132>>2]|0;e=i[a>>2]-i[q+i[s>>2]>>2]|0;if(!e){if(!t){break f}p=0;while(1){q=0;f=i[c+16>>2];g:{if((f|0)==i[c+20>>2]){break g}while(1){d=o(q,20)+f|0;e=i[y>>2]+(i[d+4>>2]<<2)|0;s=i[d>>2];m=i[d+12>>2];h:{if(m>>>0>3){break h}h=i[c+12>>2];n=d+16|0;if(!i[n>>2]){e=h;break h}k=d+12|0;f=0;while(1){d=sn(h,(f<<2)+e|0,m);m=i[k>>2];h=d+m|0;f=f+1|0;if(f>>>0>2]){continue}break}e=i[c+12>>2]}f=i[c+28>>2];f=j[s+84|0]?f:i[i[s+68>>2]+(f<<2)>>2];if(f>>>0>=l[s+80>>2]){break g}d=i[s+40>>2];sn(i[i[s>>2]>>2]+o(d,f)|0,e,d);q=q+1|0;f=i[c+16>>2];if(q>>>0<(i[c+20>>2]-f|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;p=p+1|0;if((t|0)!=(p|0)){continue}break}break f}i:{j:{k:{l:{if(t>>>0<=2){d=i[a+108>>2];i[d>>2]=m;h=1;f=i[a+12>>2];if(f>>>0>1){break l}break i}if(l[a+8>>2]>l[a+4>>2]){break d}h=d;d=u+12|0;wa(h+d|0,i[y>>2],i[y+4>>2]);d=q+i[d+i[a+120>>2]>>2]|0;i[d>>2]=i[d>>2]+(1<>2];k=32-n|0;m:{if((p|0)<=(k|0)){h=i[a+28>>2];if((h|0)==i[a+20>>2]){k=0;break m}e=i[h>>2];d=p+n|0;i[a+32>>2]=d;k=e<>>32-p|0;if((d|0)!=32){break m}i[a+32>>2]=0;i[a+28>>2]=h+4;break m}h=i[a+28>>2];d=h+4|0;if((d|0)==i[a+20>>2]){k=0;break m}e=i[h>>2];i[a+28>>2]=d;d=p-k|0;i[a+32>>2]=d;k=i[h+4>>2]>>>32-d|e<>>32-p}s=v+1|0;e=(t>>>1|0)-k|0;k=t-e|0;n:{if((k|0)==(e|0)){d=e;break n}p=i[a+88>>2];if((p|0)==i[a+80>>2]){break k}n=i[p>>2];h=i[a+92>>2];d=h+1|0;i[a+92>>2]=d;h=n&-2147483648>>>h;o:{if((d|0)==32){i[a+92>>2]=0;i[a+88>>2]=p+4;if(h){break o}break k}if(!h){break k}}d=k}k=e;break j}while(1){m=(f+ -1|0)==(m|0)?0:m+1|0;i[d+(h<<2)>>2]=m;h=h+1|0;f=i[a+12>>2];if(h>>>0>>0){continue}break}break i}d=e}p=i[a+132>>2];n=p+u|0;h=i[n>>2];e=h+q|0;i[e>>2]=i[e>>2]+1;wa(p+o(s,12)|0,h,i[n+4>>2]);if(k){h=i[g+28>>2]+i[g+24>>2]|0;n=i[g+16>>2];f=i[g+12>>2];e=n-f|0;if((h|0)==((e?o(e>>2,341)+ -1|0:0)|0)){Pb(g+8|0);f=i[g+12>>2];n=i[g+16>>2];h=i[g+24>>2]+i[g+28>>2]|0}if((f|0)==(n|0)){e=0}else{e=(h>>>0)/341|0;e=i[(e<<2)+f>>2]+o(h-o(e,341)|0,12)|0}i[e+8>>2]=v;i[e+4>>2]=m;i[e>>2]=k;i[g+28>>2]=i[g+28>>2]+1}if(!d){break f}h=i[g+28>>2]+i[g+24>>2]|0;e=i[g+16>>2];f=i[g+12>>2];k=e-f|0;if((h|0)==((k?o(k>>2,341)+ -1|0:0)|0)){Pb(g+8|0);f=i[g+12>>2];h=i[g+24>>2]+i[g+28>>2]|0;e=i[g+16>>2]}if((e|0)==(f|0)){e=0}else{e=(h>>>0)/341|0;e=i[(e<<2)+f>>2]+o(h-o(e,341)|0,12)|0}i[e+8>>2]=s;i[e+4>>2]=m;i[e>>2]=d;f=i[g+28>>2]+1|0;i[g+28>>2]=f;break e}if(!t){break f}A=0;while(1){if(f){p=i[y>>2];n=i[s>>2];m=i[a+96>>2];h=i[a+108>>2];f=0;while(1){v=h+(f<<2)|0;i[m+(i[v>>2]<<2)>>2]=0;d=i[v>>2]<<2;w=i[a>>2]-i[d+n>>2]|0;p:{if(!w){break p}z=d+m|0;u=i[a+52>>2];k=32-u|0;if((w|0)<=(k|0)){e=i[a+48>>2];if((e|0)==i[a+40>>2]){i[z>>2]=0;break p}i[z>>2]=i[e>>2]<>>32-w;d=w+i[a+52>>2]|0;i[a+52>>2]=d;if((d|0)!=32){break p}i[a+52>>2]=0;i[a+48>>2]=e+4;break p}q=i[a+48>>2];d=q+4|0;if((d|0)==i[a+40>>2]){i[z>>2]=0;break p}e=i[q>>2];i[a+48>>2]=d;d=w-k|0;i[a+52>>2]=d;i[z>>2]=i[q+4>>2]>>>32-d|e<>>32-w}e=i[v>>2]<<2;d=e+m|0;i[d>>2]=i[d>>2]|i[e+p>>2];f=f+1|0;if(f>>>0>2]){continue}break}}q=0;f=i[c+16>>2];q:{if((f|0)==i[c+20>>2]){break q}while(1){d=o(q,20)+f|0;e=i[a+96>>2]+(i[d+4>>2]<<2)|0;p=i[d>>2];m=i[d+12>>2];r:{if(m>>>0>3){break r}h=i[c+12>>2];n=d+16|0;if(!i[n>>2]){e=h;break r}k=d+12|0;f=0;while(1){d=sn(h,(f<<2)+e|0,m);m=i[k>>2];h=d+m|0;f=f+1|0;if(f>>>0>2]){continue}break}e=i[c+12>>2]}f=i[c+28>>2];f=j[p+84|0]?f:i[i[p+68>>2]+(f<<2)>>2];if(f>>>0>=l[p+80>>2]){break q}d=i[p+40>>2];sn(i[i[p>>2]>>2]+o(d,f)|0,e,d);q=q+1|0;f=i[c+16>>2];if(q>>>0<(i[c+20>>2]-f|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;A=A+1|0;if((A|0)==(t|0)){break f}f=i[a+12>>2];continue}}f=i[g+28>>2]}if(f){continue}break}k=1}b=i[g+24>>2];a=(b>>>0)/341|0;f=i[g+12>>2];h=i[g+16>>2];s:{if((f|0)==(h|0)){break s}e=(a<<2)+f|0;m=i[e>>2]+o(b-o(a,341)|0,12)|0;b=b+i[g+28>>2]|0;a=(b>>>0)/341|0;a=i[(a<<2)+f>>2]+o(b-o(a,341)|0,12)|0;if((m|0)==(a|0)){break s}while(1){m=m+12|0;if((m-i[e>>2]|0)==4092){m=i[e+4>>2];e=e+4|0}if((a|0)!=(m|0)){continue}break}}i[g+28>>2]=0;m=h-f>>2;if(m>>>0>2){while(1){qn(i[f>>2]);f=i[g+12>>2]+4|0;i[g+12>>2]=f;h=i[g+16>>2];m=h-f>>2;if(m>>>0>2){continue}break}}e=170;t:{switch(m+ -1|0){case 1:e=341;case 0:i[g+24>>2]=e;break;default:break t}}u:{if((f|0)==(h|0)){break u}while(1){qn(i[f>>2]);f=f+4|0;if((h|0)!=(f|0)){continue}break}b=i[g+16>>2];a=i[g+12>>2];if((b|0)==(a|0)){break u}i[g+16>>2]=b+(((b-a|0)+ -4>>>2^-1)<<2)}a=i[g+8>>2];if(a){qn(a)}L=g+32|0;return k}Vm();x()}Vm();x()}function zb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;g=L-32|0;L=g;d=i[a+12>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{if(d){if(d>>>0>=1073741824){break a}h=d<<2;e=Gm(h);i[g+8>>2]=e;f=e+h|0;i[g+16>>2]=f;tn(e,0,h);i[g+12>>2]=f}h=i[a+628>>2];k=i[h>>2];if(k){i[h+4>>2]=k;qn(k);i[h+8>>2]=0;i[h>>2]=0;i[h+4>>2]=0;d=i[a+12>>2];e=i[g+8>>2];f=i[g+12>>2]}i[h+4>>2]=f;i[h>>2]=e;i[h+8>>2]=i[g+16>>2];e=0;i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;k=0;b:{if(d){if(d>>>0>=1073741824){break b}f=d<<2;k=Gm(f);i[g+8>>2]=k;e=f+k|0;i[g+16>>2]=e;tn(k,0,f);i[g+12>>2]=e}f=i[a+640>>2];d=i[f>>2];if(d){i[f+4>>2]=d;qn(d);i[f+8>>2]=0;i[f>>2]=0;i[f+4>>2]=0;k=i[g+8>>2];e=i[g+12>>2]}i[f+4>>2]=e;i[f>>2]=k;i[f+8>>2]=i[g+16>>2];e=g+24|0;i[e>>2]=0;i[e+4>>2]=0;d=g+16|0;i[d>>2]=0;i[d+4>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;Pb(g+8|0);h=i[d>>2];d=i[g+12>>2];f=0;c:{if((h|0)==(d|0)){break c}f=i[e>>2]+i[g+28>>2]|0;e=(f>>>0)/341|0;f=i[d+(e<<2)>>2]+o(f-o(e,341)|0,12)|0}i[f+4>>2]=0;i[f+8>>2]=0;i[f>>2]=b;h=1;f=i[g+28>>2];d=f+1|0;i[g+28>>2]=d;d:{if(d>>>0>>0){break d}while(1){h=i[g+12>>2];d=d+ -1|0;f=d+i[g+24>>2]|0;e=(f>>>0)/341|0;e=i[h+(e<<2)>>2]+o(f-o(e,341)|0,12)|0;n=i[e+8>>2];k=i[e+4>>2];m=i[e>>2];i[g+28>>2]=d;e=i[g+16>>2];d=e-h|0;if((d?o(d>>2,341)+ -1|0:0)-f>>>0>=682){qn(i[e+ -4>>2]);i[g+16>>2]=i[g+16>>2]+ -4}h=0;if(m>>>0>b>>>0){break d}f=i[a+628>>2];s=o(n,12);t=s+i[a+640>>2]|0;k=xl(a,t,k);if(k>>>0>=l[a+12>>2]){break d}q=f+s|0;e:{f:{p=k<<2;f=i[a>>2]-i[p+i[t>>2]>>2]|0;if(!f){if(!m){break f}s=0;while(1){h=0;d=i[c+16>>2];g:{if((d|0)==i[c+20>>2]){break g}while(1){d=o(h,20)+d|0;f=i[q>>2]+(i[d+4>>2]<<2)|0;n=i[d>>2];k=i[d+12>>2];h:{if(k>>>0>3){break h}e=i[c+12>>2];t=d+16|0;if(!i[t>>2]){f=e;break h}p=d+12|0;d=0;while(1){e=sn(e,(d<<2)+f|0,k);k=i[p>>2];e=e+k|0;d=d+1|0;if(d>>>0>2]){continue}break}f=i[c+12>>2]}d=i[c+28>>2];d=j[n+84|0]?d:i[i[n+68>>2]+(d<<2)>>2];if(d>>>0>=l[n+80>>2]){break g}e=i[n+40>>2];sn(i[i[n>>2]>>2]+o(e,d)|0,f,e);h=h+1|0;d=i[c+16>>2];if(h>>>0<(i[c+20>>2]-d|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;s=s+1|0;if((m|0)!=(s|0)){continue}break}break f}i:{j:{k:{l:{if(m>>>0<=2){f=i[a+616>>2];i[f>>2]=k;e=1;d=i[a+12>>2];if(d>>>0>1){break l}break i}if(l[a+8>>2]>l[a+4>>2]){break d}e=1<>2];t=n+1|0;h=o(t,12);d=f+h|0;if((d|0)!=(q|0)){wa(d,i[q>>2],i[q+4>>2]);f=i[a+628>>2]}f=p+i[f+h>>2]|0;i[f>>2]=e+i[f>>2];e=0;d=0;f=r(m)^31;if(f){while(1){e=Ee(((d<<4)+a|0)+16|0)|e<<1;d=d+1|0;if((f|0)!=(d|0)){continue}break}}e=(m>>>1|0)-e|0;d=m-e|0;m:{if((d|0)==(e|0)){f=e;break m}f=i[a+596>>2];if((f|0)==i[a+588>>2]){break k}m=i[f>>2];q=i[a+600>>2];u=q+1|0;i[a+600>>2]=u;m=m&-2147483648>>>q;n:{if((u|0)==32){i[a+600>>2]=0;i[a+596>>2]=f+4;if(m){break n}break k}if(!m){break k}}f=d}d=e;break j}while(1){k=(d+ -1|0)==(k|0)?0:k+1|0;i[f+(e<<2)>>2]=k;e=e+1|0;d=i[a+12>>2];if(e>>>0>>0){continue}break}break i}f=e}e=i[a+640>>2];m=e+s|0;q=i[m>>2];s=q+p|0;i[s>>2]=i[s>>2]+1;wa(e+h|0,q,i[m+4>>2]);if(d){m=i[g+28>>2]+i[g+24>>2]|0;q=i[g+16>>2];e=i[g+12>>2];h=q-e|0;if((m|0)==((h?o(h>>2,341)+ -1|0:0)|0)){Pb(g+8|0);m=i[g+24>>2]+i[g+28>>2]|0;q=i[g+16>>2];e=i[g+12>>2]}h=0;o:{if((e|0)==(q|0)){break o}h=e;e=(m>>>0)/341|0;h=i[h+(e<<2)>>2]+o(m-o(e,341)|0,12)|0}i[h+8>>2]=n;i[h+4>>2]=k;i[h>>2]=d;i[g+28>>2]=i[g+28>>2]+1}if(!f){break f}e=i[g+28>>2]+i[g+24>>2]|0;h=i[g+16>>2];d=i[g+12>>2];m=h-d|0;if((e|0)==((m?o(m>>2,341)+ -1|0:0)|0)){Pb(g+8|0);h=i[g+16>>2];d=i[g+12>>2];e=i[g+24>>2]+i[g+28>>2]|0}if((d|0)==(h|0)){e=0}else{h=d;d=(e>>>0)/341|0;e=i[h+(d<<2)>>2]+o(e-o(d,341)|0,12)|0}i[e+8>>2]=t;i[e+4>>2]=k;i[e>>2]=f;d=i[g+28>>2]+1|0;i[g+28>>2]=d;break e}if(!m){break f}s=0;while(1){if(d){u=i[q>>2];y=i[t>>2];h=i[a+604>>2];z=i[a+616>>2];d=0;while(1){k=z+(d<<2)|0;i[h+(i[k>>2]<<2)>>2]=0;e=i[k>>2]<<2;f=i[a>>2]-i[e+y>>2]|0;p:{if(!f){break p}e=e+h|0;n=i[a+560>>2];v=32-n|0;if((f|0)<=(v|0)){p=i[a+556>>2];if((p|0)==i[a+548>>2]){i[e>>2]=0;break p}i[e>>2]=i[p>>2]<>>32-f;f=f+i[a+560>>2]|0;i[a+560>>2]=f;if((f|0)!=32){break p}i[a+560>>2]=0;i[a+556>>2]=p+4;break p}p=i[a+556>>2];w=p+4|0;if((w|0)==i[a+548>>2]){i[e>>2]=0;break p}A=i[p>>2];i[a+556>>2]=w;v=f-v|0;i[a+560>>2]=v;i[e>>2]=i[p+4>>2]>>>32-v|A<>>32-f}f=i[k>>2]<<2;e=f+h|0;i[e>>2]=i[e>>2]|i[f+u>>2];d=d+1|0;if(d>>>0>2]){continue}break}}h=0;d=i[c+16>>2];q:{if((d|0)==i[c+20>>2]){break q}while(1){d=o(h,20)+d|0;f=i[a+604>>2]+(i[d+4>>2]<<2)|0;n=i[d>>2];k=i[d+12>>2];r:{if(k>>>0>3){break r}e=i[c+12>>2];p=d+16|0;if(!i[p>>2]){f=e;break r}u=d+12|0;d=0;while(1){e=sn(e,(d<<2)+f|0,k);k=i[u>>2];e=e+k|0;d=d+1|0;if(d>>>0>2]){continue}break}f=i[c+12>>2]}d=i[c+28>>2];d=j[n+84|0]?d:i[i[n+68>>2]+(d<<2)>>2];if(d>>>0>=l[n+80>>2]){break q}e=i[n+40>>2];sn(i[i[n>>2]>>2]+o(e,d)|0,f,e);h=h+1|0;d=i[c+16>>2];if(h>>>0<(i[c+20>>2]-d|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;s=s+1|0;if((s|0)==(m|0)){break f}d=i[a+12>>2];continue}}d=i[g+28>>2]}if(d){continue}break}h=1}a=i[g+24>>2];b=(a>>>0)/341|0;d=i[g+12>>2];e=i[g+16>>2];s:{if((d|0)==(e|0)){break s}f=(b<<2)+d|0;k=i[f>>2]+o(a-o(b,341)|0,12)|0;a=a+i[g+28>>2]|0;b=(a>>>0)/341|0;a=i[(b<<2)+d>>2]+o(a-o(b,341)|0,12)|0;if((k|0)==(a|0)){break s}while(1){k=k+12|0;if((k-i[f>>2]|0)==4092){k=i[f+4>>2];f=f+4|0}if((a|0)!=(k|0)){continue}break}}i[g+28>>2]=0;k=e-d>>2;if(k>>>0>2){while(1){qn(i[d>>2]);d=i[g+12>>2]+4|0;i[g+12>>2]=d;e=i[g+16>>2];k=e-d>>2;if(k>>>0>2){continue}break}}f=170;t:{switch(k+ -1|0){case 1:f=341;case 0:i[g+24>>2]=f;break;default:break t}}u:{if((d|0)==(e|0)){break u}while(1){qn(i[d>>2]);d=d+4|0;if((e|0)!=(d|0)){continue}break}a=i[g+16>>2];b=i[g+12>>2];if((a|0)==(b|0)){break u}i[g+16>>2]=a+(((a-b|0)+ -4>>>2^-1)<<2)}a=i[g+8>>2];if(a){qn(a)}L=g+32|0;return h}Vm();x()}Vm();x()}function Bb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;g=L-32|0;L=g;d=i[a+12>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{if(d){if(d>>>0>=1073741824){break a}h=d<<2;e=Gm(h);i[g+8>>2]=e;f=e+h|0;i[g+16>>2]=f;tn(e,0,h);i[g+12>>2]=f}h=i[a+628>>2];k=i[h>>2];if(k){i[h+4>>2]=k;qn(k);i[h+8>>2]=0;i[h>>2]=0;i[h+4>>2]=0;d=i[a+12>>2];e=i[g+8>>2];f=i[g+12>>2]}i[h+4>>2]=f;i[h>>2]=e;i[h+8>>2]=i[g+16>>2];e=0;i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;k=0;b:{if(d){if(d>>>0>=1073741824){break b}f=d<<2;k=Gm(f);i[g+8>>2]=k;e=f+k|0;i[g+16>>2]=e;tn(k,0,f);i[g+12>>2]=e}f=i[a+640>>2];d=i[f>>2];if(d){i[f+4>>2]=d;qn(d);i[f+8>>2]=0;i[f>>2]=0;i[f+4>>2]=0;k=i[g+8>>2];e=i[g+12>>2]}i[f+4>>2]=e;i[f>>2]=k;i[f+8>>2]=i[g+16>>2];e=g+24|0;i[e>>2]=0;i[e+4>>2]=0;d=g+16|0;i[d>>2]=0;i[d+4>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;Pb(g+8|0);h=i[d>>2];d=i[g+12>>2];f=0;c:{if((h|0)==(d|0)){break c}f=i[e>>2]+i[g+28>>2]|0;e=(f>>>0)/341|0;f=i[d+(e<<2)>>2]+o(f-o(e,341)|0,12)|0}i[f+4>>2]=0;i[f+8>>2]=0;i[f>>2]=b;h=1;f=i[g+28>>2];d=f+1|0;i[g+28>>2]=d;d:{if(d>>>0>>0){break d}while(1){k=i[g+12>>2];h=d+ -1|0;f=h+i[g+24>>2]|0;e=(f>>>0)/341|0;e=i[k+(e<<2)>>2]+o(f-o(e,341)|0,12)|0;n=i[e+8>>2];d=i[e+4>>2];m=i[e>>2];i[g+28>>2]=h;e=i[g+16>>2];h=e-k|0;if((h?o(h>>2,341)+ -1|0:0)-f>>>0>=682){qn(i[e+ -4>>2]);i[g+16>>2]=i[g+16>>2]+ -4}if(m>>>0>b>>>0){h=0;break d}h=0;f=i[a+12>>2];k=(d|0)==(f+ -1|0)?0:d+1|0;if(k>>>0>=f>>>0){break d}f=i[a+628>>2];p=o(n,12);s=f+p|0;e:{f:{q=k<<2;t=p+i[a+640>>2]|0;e=i[a>>2]-i[q+i[t>>2]>>2]|0;if(!e){if(!m){break f}p=0;while(1){h=0;d=i[c+16>>2];g:{if((d|0)==i[c+20>>2]){break g}while(1){d=o(h,20)+d|0;f=i[s>>2]+(i[d+4>>2]<<2)|0;n=i[d>>2];k=i[d+12>>2];h:{if(k>>>0>3){break h}e=i[c+12>>2];q=d+16|0;if(!i[q>>2]){f=e;break h}t=d+12|0;d=0;while(1){e=sn(e,(d<<2)+f|0,k);k=i[t>>2];e=e+k|0;d=d+1|0;if(d>>>0>2]){continue}break}f=i[c+12>>2]}d=i[c+28>>2];d=j[n+84|0]?d:i[i[n+68>>2]+(d<<2)>>2];if(d>>>0>=l[n+80>>2]){break g}e=i[n+40>>2];sn(i[i[n>>2]>>2]+o(e,d)|0,f,e);h=h+1|0;d=i[c+16>>2];if(h>>>0<(i[c+20>>2]-d|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;p=p+1|0;if((m|0)!=(p|0)){continue}break}break f}i:{j:{k:{l:{if(m>>>0<=2){f=i[a+616>>2];i[f>>2]=k;e=1;d=i[a+12>>2];if(d>>>0>1){break l}break i}if(l[a+8>>2]>l[a+4>>2]){break d}d=f;f=p+12|0;wa(d+f|0,i[s>>2],i[s+4>>2]);f=q+i[f+i[a+628>>2]>>2]|0;i[f>>2]=i[f>>2]+(1<>>1|0)-e|0;d=m-e|0;m:{if((d|0)==(e|0)){f=e;break m}f=i[a+596>>2];if((f|0)==i[a+588>>2]){break k}h=i[f>>2];m=i[a+600>>2];t=m+1|0;i[a+600>>2]=t;h=h&-2147483648>>>m;n:{if((t|0)==32){i[a+600>>2]=0;i[a+596>>2]=f+4;if(h){break n}break k}if(!h){break k}}f=d}d=e;break j}while(1){k=(d+ -1|0)==(k|0)?0:k+1|0;i[f+(e<<2)>>2]=k;e=e+1|0;d=i[a+12>>2];if(e>>>0>>0){continue}break}break i}f=e}e=i[a+640>>2];h=e+p|0;m=i[h>>2];p=m+q|0;i[p>>2]=i[p>>2]+1;wa(e+o(s,12)|0,m,i[h+4>>2]);if(d){m=i[g+28>>2]+i[g+24>>2]|0;p=i[g+16>>2];e=i[g+12>>2];h=p-e|0;if((m|0)==((h?o(h>>2,341)+ -1|0:0)|0)){Pb(g+8|0);m=i[g+24>>2]+i[g+28>>2]|0;p=i[g+16>>2];e=i[g+12>>2]}h=0;o:{if((e|0)==(p|0)){break o}h=e;e=(m>>>0)/341|0;h=i[h+(e<<2)>>2]+o(m-o(e,341)|0,12)|0}i[h+8>>2]=n;i[h+4>>2]=k;i[h>>2]=d;i[g+28>>2]=i[g+28>>2]+1}if(!f){break f}e=i[g+28>>2]+i[g+24>>2]|0;m=i[g+16>>2];d=i[g+12>>2];h=m-d|0;if((e|0)==((h?o(h>>2,341)+ -1|0:0)|0)){Pb(g+8|0);m=i[g+16>>2];d=i[g+12>>2];e=i[g+24>>2]+i[g+28>>2]|0}if((d|0)==(m|0)){e=0}else{h=d;d=(e>>>0)/341|0;e=i[h+(d<<2)>>2]+o(e-o(d,341)|0,12)|0}i[e+8>>2]=s;i[e+4>>2]=k;i[e>>2]=f;d=i[g+28>>2]+1|0;i[g+28>>2]=d;break e}if(!m){break f}p=0;while(1){if(d){v=i[s>>2];y=i[t>>2];h=i[a+604>>2];z=i[a+616>>2];d=0;while(1){k=z+(d<<2)|0;i[h+(i[k>>2]<<2)>>2]=0;e=i[k>>2]<<2;f=i[a>>2]-i[e+y>>2]|0;p:{if(!f){break p}e=e+h|0;n=i[a+560>>2];u=32-n|0;if((f|0)<=(u|0)){q=i[a+556>>2];if((q|0)==i[a+548>>2]){i[e>>2]=0;break p}i[e>>2]=i[q>>2]<>>32-f;f=f+i[a+560>>2]|0;i[a+560>>2]=f;if((f|0)!=32){break p}i[a+560>>2]=0;i[a+556>>2]=q+4;break p}q=i[a+556>>2];w=q+4|0;if((w|0)==i[a+548>>2]){i[e>>2]=0;break p}A=i[q>>2];i[a+556>>2]=w;u=f-u|0;i[a+560>>2]=u;i[e>>2]=i[q+4>>2]>>>32-u|A<>>32-f}f=i[k>>2]<<2;e=f+h|0;i[e>>2]=i[e>>2]|i[f+v>>2];d=d+1|0;if(d>>>0>2]){continue}break}}h=0;d=i[c+16>>2];q:{if((d|0)==i[c+20>>2]){break q}while(1){d=o(h,20)+d|0;f=i[a+604>>2]+(i[d+4>>2]<<2)|0;n=i[d>>2];k=i[d+12>>2];r:{if(k>>>0>3){break r}e=i[c+12>>2];q=d+16|0;if(!i[q>>2]){f=e;break r}v=d+12|0;d=0;while(1){e=sn(e,(d<<2)+f|0,k);k=i[v>>2];e=e+k|0;d=d+1|0;if(d>>>0>2]){continue}break}f=i[c+12>>2]}d=i[c+28>>2];d=j[n+84|0]?d:i[i[n+68>>2]+(d<<2)>>2];if(d>>>0>=l[n+80>>2]){break q}e=i[n+40>>2];sn(i[i[n>>2]>>2]+o(e,d)|0,f,e);h=h+1|0;d=i[c+16>>2];if(h>>>0<(i[c+20>>2]-d|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;p=p+1|0;if((p|0)==(m|0)){break f}d=i[a+12>>2];continue}}d=i[g+28>>2]}if(d){continue}break}h=1}a=i[g+24>>2];b=(a>>>0)/341|0;d=i[g+12>>2];e=i[g+16>>2];s:{if((d|0)==(e|0)){break s}f=(b<<2)+d|0;k=i[f>>2]+o(a-o(b,341)|0,12)|0;a=a+i[g+28>>2]|0;b=(a>>>0)/341|0;a=i[(b<<2)+d>>2]+o(a-o(b,341)|0,12)|0;if((k|0)==(a|0)){break s}while(1){k=k+12|0;if((k-i[f>>2]|0)==4092){k=i[f+4>>2];f=f+4|0}if((a|0)!=(k|0)){continue}break}}i[g+28>>2]=0;k=e-d>>2;if(k>>>0>2){while(1){qn(i[d>>2]);d=i[g+12>>2]+4|0;i[g+12>>2]=d;e=i[g+16>>2];k=e-d>>2;if(k>>>0>2){continue}break}}f=170;t:{switch(k+ -1|0){case 1:f=341;case 0:i[g+24>>2]=f;break;default:break t}}u:{if((d|0)==(e|0)){break u}while(1){qn(i[d>>2]);d=d+4|0;if((e|0)!=(d|0)){continue}break}a=i[g+16>>2];b=i[g+12>>2];if((a|0)==(b|0)){break u}i[g+16>>2]=a+(((a-b|0)+ -4>>>2^-1)<<2)}a=i[g+8>>2];if(a){qn(a)}L=g+32|0;return h}Vm();x()}Vm();x()}function Cb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;g=L-32|0;L=g;d=i[a+12>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{if(d){if(d>>>0>=1073741824){break a}h=d<<2;e=Gm(h);i[g+8>>2]=e;f=e+h|0;i[g+16>>2]=f;tn(e,0,h);i[g+12>>2]=f}h=i[a+628>>2];k=i[h>>2];if(k){i[h+4>>2]=k;qn(k);i[h+8>>2]=0;i[h>>2]=0;i[h+4>>2]=0;d=i[a+12>>2];e=i[g+8>>2];f=i[g+12>>2]}i[h+4>>2]=f;i[h>>2]=e;i[h+8>>2]=i[g+16>>2];e=0;i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;k=0;b:{if(d){if(d>>>0>=1073741824){break b}f=d<<2;k=Gm(f);i[g+8>>2]=k;e=f+k|0;i[g+16>>2]=e;tn(k,0,f);i[g+12>>2]=e}f=i[a+640>>2];d=i[f>>2];if(d){i[f+4>>2]=d;qn(d);i[f+8>>2]=0;i[f>>2]=0;i[f+4>>2]=0;k=i[g+8>>2];e=i[g+12>>2]}i[f+4>>2]=e;i[f>>2]=k;i[f+8>>2]=i[g+16>>2];e=g+24|0;i[e>>2]=0;i[e+4>>2]=0;d=g+16|0;i[d>>2]=0;i[d+4>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;Pb(g+8|0);h=i[d>>2];d=i[g+12>>2];f=0;c:{if((h|0)==(d|0)){break c}f=i[e>>2]+i[g+28>>2]|0;e=(f>>>0)/341|0;f=i[d+(e<<2)>>2]+o(f-o(e,341)|0,12)|0}i[f+4>>2]=0;i[f+8>>2]=0;i[f>>2]=b;h=1;f=i[g+28>>2];d=f+1|0;i[g+28>>2]=d;d:{if(d>>>0>>0){break d}while(1){h=i[g+12>>2];d=d+ -1|0;f=d+i[g+24>>2]|0;e=(f>>>0)/341|0;e=i[h+(e<<2)>>2]+o(f-o(e,341)|0,12)|0;n=i[e+8>>2];m=i[e>>2];i[g+28>>2]=d;e=i[g+16>>2];d=e-h|0;if((d?o(d>>2,341)+ -1|0:0)-f>>>0>=682){qn(i[e+ -4>>2]);i[g+16>>2]=i[g+16>>2]+ -4}h=0;if(m>>>0>b>>>0){break d}f=i[a+628>>2];s=o(n,12);t=s+i[a+640>>2]|0;k=yl(a,m,t);if(k>>>0>=l[a+12>>2]){break d}q=f+s|0;e:{f:{p=k<<2;f=i[a>>2]-i[p+i[t>>2]>>2]|0;if(!f){if(!m){break f}s=0;while(1){h=0;d=i[c+16>>2];g:{if((d|0)==i[c+20>>2]){break g}while(1){d=o(h,20)+d|0;f=i[q>>2]+(i[d+4>>2]<<2)|0;n=i[d>>2];k=i[d+12>>2];h:{if(k>>>0>3){break h}e=i[c+12>>2];t=d+16|0;if(!i[t>>2]){f=e;break h}p=d+12|0;d=0;while(1){e=sn(e,(d<<2)+f|0,k);k=i[p>>2];e=e+k|0;d=d+1|0;if(d>>>0>2]){continue}break}f=i[c+12>>2]}d=i[c+28>>2];d=j[n+84|0]?d:i[i[n+68>>2]+(d<<2)>>2];if(d>>>0>=l[n+80>>2]){break g}e=i[n+40>>2];sn(i[i[n>>2]>>2]+o(e,d)|0,f,e);h=h+1|0;d=i[c+16>>2];if(h>>>0<(i[c+20>>2]-d|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;s=s+1|0;if((m|0)!=(s|0)){continue}break}break f}i:{j:{k:{l:{if(m>>>0<=2){f=i[a+616>>2];i[f>>2]=k;e=1;d=i[a+12>>2];if(d>>>0>1){break l}break i}if(l[a+8>>2]>l[a+4>>2]){break d}e=1<>2];t=n+1|0;h=o(t,12);d=f+h|0;if((d|0)!=(q|0)){wa(d,i[q>>2],i[q+4>>2]);f=i[a+628>>2]}f=p+i[f+h>>2]|0;i[f>>2]=e+i[f>>2];e=0;d=0;f=r(m)^31;if(f){while(1){e=Ee(((d<<4)+a|0)+16|0)|e<<1;d=d+1|0;if((f|0)!=(d|0)){continue}break}}e=(m>>>1|0)-e|0;d=m-e|0;m:{if((d|0)==(e|0)){f=e;break m}f=i[a+596>>2];if((f|0)==i[a+588>>2]){break k}m=i[f>>2];q=i[a+600>>2];u=q+1|0;i[a+600>>2]=u;m=m&-2147483648>>>q;n:{if((u|0)==32){i[a+600>>2]=0;i[a+596>>2]=f+4;if(m){break n}break k}if(!m){break k}}f=d}d=e;break j}while(1){k=(d+ -1|0)==(k|0)?0:k+1|0;i[f+(e<<2)>>2]=k;e=e+1|0;d=i[a+12>>2];if(e>>>0>>0){continue}break}break i}f=e}e=i[a+640>>2];m=e+s|0;q=i[m>>2];s=q+p|0;i[s>>2]=i[s>>2]+1;wa(e+h|0,q,i[m+4>>2]);if(d){m=i[g+28>>2]+i[g+24>>2]|0;q=i[g+16>>2];e=i[g+12>>2];h=q-e|0;if((m|0)==((h?o(h>>2,341)+ -1|0:0)|0)){Pb(g+8|0);m=i[g+24>>2]+i[g+28>>2]|0;q=i[g+16>>2];e=i[g+12>>2]}h=0;o:{if((e|0)==(q|0)){break o}h=e;e=(m>>>0)/341|0;h=i[h+(e<<2)>>2]+o(m-o(e,341)|0,12)|0}i[h+8>>2]=n;i[h+4>>2]=k;i[h>>2]=d;i[g+28>>2]=i[g+28>>2]+1}if(!f){break f}e=i[g+28>>2]+i[g+24>>2]|0;h=i[g+16>>2];d=i[g+12>>2];m=h-d|0;if((e|0)==((m?o(m>>2,341)+ -1|0:0)|0)){Pb(g+8|0);h=i[g+16>>2];d=i[g+12>>2];e=i[g+24>>2]+i[g+28>>2]|0}if((d|0)==(h|0)){e=0}else{h=d;d=(e>>>0)/341|0;e=i[h+(d<<2)>>2]+o(e-o(d,341)|0,12)|0}i[e+8>>2]=t;i[e+4>>2]=k;i[e>>2]=f;d=i[g+28>>2]+1|0;i[g+28>>2]=d;break e}if(!m){break f}s=0;while(1){if(d){u=i[q>>2];y=i[t>>2];h=i[a+604>>2];z=i[a+616>>2];d=0;while(1){k=z+(d<<2)|0;i[h+(i[k>>2]<<2)>>2]=0;e=i[k>>2]<<2;f=i[a>>2]-i[e+y>>2]|0;p:{if(!f){break p}e=e+h|0;n=i[a+560>>2];v=32-n|0;if((f|0)<=(v|0)){p=i[a+556>>2];if((p|0)==i[a+548>>2]){i[e>>2]=0;break p}i[e>>2]=i[p>>2]<>>32-f;f=f+i[a+560>>2]|0;i[a+560>>2]=f;if((f|0)!=32){break p}i[a+560>>2]=0;i[a+556>>2]=p+4;break p}p=i[a+556>>2];w=p+4|0;if((w|0)==i[a+548>>2]){i[e>>2]=0;break p}A=i[p>>2];i[a+556>>2]=w;v=f-v|0;i[a+560>>2]=v;i[e>>2]=i[p+4>>2]>>>32-v|A<>>32-f}f=i[k>>2]<<2;e=f+h|0;i[e>>2]=i[e>>2]|i[f+u>>2];d=d+1|0;if(d>>>0>2]){continue}break}}h=0;d=i[c+16>>2];q:{if((d|0)==i[c+20>>2]){break q}while(1){d=o(h,20)+d|0;f=i[a+604>>2]+(i[d+4>>2]<<2)|0;n=i[d>>2];k=i[d+12>>2];r:{if(k>>>0>3){break r}e=i[c+12>>2];p=d+16|0;if(!i[p>>2]){f=e;break r}u=d+12|0;d=0;while(1){e=sn(e,(d<<2)+f|0,k);k=i[u>>2];e=e+k|0;d=d+1|0;if(d>>>0>2]){continue}break}f=i[c+12>>2]}d=i[c+28>>2];d=j[n+84|0]?d:i[i[n+68>>2]+(d<<2)>>2];if(d>>>0>=l[n+80>>2]){break q}e=i[n+40>>2];sn(i[i[n>>2]>>2]+o(e,d)|0,f,e);h=h+1|0;d=i[c+16>>2];if(h>>>0<(i[c+20>>2]-d|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;s=s+1|0;if((s|0)==(m|0)){break f}d=i[a+12>>2];continue}}d=i[g+28>>2]}if(d){continue}break}h=1}a=i[g+24>>2];b=(a>>>0)/341|0;d=i[g+12>>2];e=i[g+16>>2];s:{if((d|0)==(e|0)){break s}f=(b<<2)+d|0;k=i[f>>2]+o(a-o(b,341)|0,12)|0;a=a+i[g+28>>2]|0;b=(a>>>0)/341|0;a=i[(b<<2)+d>>2]+o(a-o(b,341)|0,12)|0;if((k|0)==(a|0)){break s}while(1){k=k+12|0;if((k-i[f>>2]|0)==4092){k=i[f+4>>2];f=f+4|0}if((a|0)!=(k|0)){continue}break}}i[g+28>>2]=0;k=e-d>>2;if(k>>>0>2){while(1){qn(i[d>>2]);d=i[g+12>>2]+4|0;i[g+12>>2]=d;e=i[g+16>>2];k=e-d>>2;if(k>>>0>2){continue}break}}f=170;t:{switch(k+ -1|0){case 1:f=341;case 0:i[g+24>>2]=f;break;default:break t}}u:{if((d|0)==(e|0)){break u}while(1){qn(i[d>>2]);d=d+4|0;if((e|0)!=(d|0)){continue}break}a=i[g+16>>2];b=i[g+12>>2];if((a|0)==(b|0)){break u}i[g+16>>2]=a+(((a-b|0)+ -4>>>2^-1)<<2)}a=i[g+8>>2];if(a){qn(a)}L=g+32|0;return h}Vm();x()}Vm();x()}function xb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;g=L-32|0;L=g;f=i[a+12>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{if(f){if(f>>>0>=1073741824){break a}d=f<<2;h=Gm(d);i[g+8>>2]=h;e=d+h|0;i[g+16>>2]=e;tn(h,0,d);i[g+12>>2]=e}m=i[a+116>>2];d=i[m>>2];if(d){i[m+4>>2]=d;qn(d);i[m+8>>2]=0;i[m>>2]=0;i[m+4>>2]=0;f=i[a+12>>2];h=i[g+8>>2];e=i[g+12>>2]}i[m+4>>2]=e;i[m>>2]=h;i[m+8>>2]=i[g+16>>2];h=0;i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;b:{if(f){if(f>>>0>=1073741824){break b}d=f<<2;k=Gm(d);i[g+8>>2]=k;h=d+k|0;i[g+16>>2]=h;tn(k,0,d);i[g+12>>2]=h}e=i[a+128>>2];d=i[e>>2];if(d){i[e+4>>2]=d;qn(d);i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;k=i[g+8>>2];h=i[g+12>>2]}i[e+4>>2]=h;i[e>>2]=k;i[e+8>>2]=i[g+16>>2];h=g+24|0;i[h>>2]=0;i[h+4>>2]=0;e=g+16|0;i[e>>2]=0;i[e+4>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;Pb(g+8|0);m=i[g+12>>2];d=0;c:{if((m|0)==i[e>>2]){break c}e=i[h>>2]+i[g+28>>2]|0;d=(e>>>0)/341|0;d=i[m+(d<<2)>>2]+o(e-o(d,341)|0,12)|0}i[d+4>>2]=0;i[d+8>>2]=0;i[d>>2]=b;d=1;e=i[g+28>>2];f=e+1|0;i[g+28>>2]=f;d:{if(f>>>0>>0){break d}B=a+16|0;while(1){d=i[g+12>>2];h=f+ -1|0;n=h+i[g+24>>2]|0;e=(n>>>0)/341|0;e=i[d+(e<<2)>>2]+o(n-o(e,341)|0,12)|0;u=i[e+8>>2];m=i[e+4>>2];t=i[e>>2];i[g+28>>2]=h;e=i[g+16>>2];d=e-d|0;if((d?o(d>>2,341)+ -1|0:0)-n>>>0>=682){qn(i[e+ -4>>2]);i[g+16>>2]=i[g+16>>2]+ -4}d=0;if(t>>>0>b>>>0){break d}e=i[a+116>>2];v=o(u,12);A=v+i[a+128>>2]|0;k=xl(a,A,m);if(k>>>0>=l[a+12>>2]){break d}z=e+v|0;e:{w=k<<2;e=i[a>>2]-i[w+i[A>>2]>>2]|0;if(!e){if(!t){break e}p=0;while(1){m=0;f=i[c+16>>2];f:{if((f|0)==i[c+20>>2]){break f}while(1){d=o(m,20)+f|0;e=i[z>>2]+(i[d+4>>2]<<2)|0;s=i[d>>2];k=i[d+12>>2];g:{if(k>>>0>3){break g}h=i[c+12>>2];q=d+16|0;if(!i[q>>2]){e=h;break g}n=d+12|0;f=0;while(1){d=sn(h,(f<<2)+e|0,k);k=i[n>>2];h=d+k|0;f=f+1|0;if(f>>>0>2]){continue}break}e=i[c+12>>2]}f=i[c+28>>2];f=j[s+84|0]?f:i[i[s+68>>2]+(f<<2)>>2];if(f>>>0>=l[s+80>>2]){break f}d=i[s+40>>2];sn(i[i[s>>2]>>2]+o(d,f)|0,e,d);m=m+1|0;f=i[c+16>>2];if(m>>>0<(i[c+20>>2]-f|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;p=p+1|0;if((t|0)!=(p|0)){continue}break}break e}h:{i:{j:{k:{if(t>>>0<=2){d=i[a+104>>2];i[d>>2]=k;h=1;f=i[a+12>>2];if(f>>>0>1){break k}break h}if(l[a+8>>2]>l[a+4>>2]){break d}m=1<>2];p=u+1|0;s=o(p,12);e=d+s|0;if((e|0)!=(z|0)){wa(e,i[z>>2],i[z+4>>2]);d=i[a+116>>2]}d=w+i[d+s>>2]|0;i[d>>2]=m+i[d>>2];i[g+4>>2]=0;Fe(B,r(t)^31,g+4|0);e=(t>>>1|0)-i[g+4>>2]|0;d=t-e|0;l:{if((d|0)==(e|0)){d=e;break l}q=i[a+84>>2];if((q|0)==i[a+76>>2]){break j}n=i[q>>2];h=i[a+88>>2];m=h+1|0;i[a+88>>2]=m;h=n&-2147483648>>>h;m:{if((m|0)==32){i[a+88>>2]=0;i[a+84>>2]=q+4;if(h){break m}break j}if(!h){break j}}}m=d;d=e;break i}while(1){k=(f+ -1|0)==(k|0)?0:k+1|0;i[d+(h<<2)>>2]=k;h=h+1|0;f=i[a+12>>2];if(h>>>0>>0){continue}break}break h}m=e}q=i[a+128>>2];n=q+v|0;h=i[n>>2];e=h+w|0;i[e>>2]=i[e>>2]+1;wa(s+q|0,h,i[n+4>>2]);if(d){e=i[g+28>>2]+i[g+24>>2]|0;n=i[g+16>>2];f=i[g+12>>2];h=n-f|0;if((e|0)==((h?o(h>>2,341)+ -1|0:0)|0)){Pb(g+8|0);f=i[g+12>>2];n=i[g+16>>2];e=i[g+24>>2]+i[g+28>>2]|0}if((f|0)==(n|0)){e=0}else{h=(e>>>0)/341|0;e=i[(h<<2)+f>>2]+o(e-o(h,341)|0,12)|0}i[e+8>>2]=u;i[e+4>>2]=k;i[e>>2]=d;i[g+28>>2]=i[g+28>>2]+1}if(!m){break e}h=i[g+28>>2]+i[g+24>>2]|0;e=i[g+16>>2];f=i[g+12>>2];d=e-f|0;if((h|0)==((d?o(d>>2,341)+ -1|0:0)|0)){Pb(g+8|0);f=i[g+12>>2];h=i[g+24>>2]+i[g+28>>2]|0;e=i[g+16>>2]}if((e|0)==(f|0)){d=0}else{d=(h>>>0)/341|0;d=i[(d<<2)+f>>2]+o(h-o(d,341)|0,12)|0}i[d+8>>2]=p;i[d+4>>2]=k;i[d>>2]=m;i[g+28>>2]=i[g+28>>2]+1;break e}if(!t){break e}v=0;while(1){if(f){q=i[z>>2];n=i[A>>2];u=i[a+92>>2];h=i[a+104>>2];f=0;while(1){w=h+(f<<2)|0;i[u+(i[w>>2]<<2)>>2]=0;d=i[w>>2]<<2;y=i[a>>2]-i[d+n>>2]|0;n:{if(!y){break n}k=d+u|0;s=i[a+48>>2];m=32-s|0;if((y|0)<=(m|0)){e=i[a+44>>2];if((e|0)==i[a+36>>2]){i[k>>2]=0;break n}i[k>>2]=i[e>>2]<>>32-y;d=y+i[a+48>>2]|0;i[a+48>>2]=d;if((d|0)!=32){break n}i[a+48>>2]=0;i[a+44>>2]=e+4;break n}p=i[a+44>>2];d=p+4|0;if((d|0)==i[a+36>>2]){i[k>>2]=0;break n}e=i[p>>2];i[a+44>>2]=d;d=y-m|0;i[a+48>>2]=d;i[k>>2]=i[p+4>>2]>>>32-d|e<>>32-y}e=i[w>>2]<<2;d=e+u|0;i[d>>2]=i[d>>2]|i[e+q>>2];f=f+1|0;if(f>>>0>2]){continue}break}}m=0;f=i[c+16>>2];o:{if((f|0)==i[c+20>>2]){break o}while(1){d=o(m,20)+f|0;e=i[a+92>>2]+(i[d+4>>2]<<2)|0;p=i[d>>2];k=i[d+12>>2];p:{if(k>>>0>3){break p}h=i[c+12>>2];q=d+16|0;if(!i[q>>2]){e=h;break p}n=d+12|0;f=0;while(1){d=sn(h,(f<<2)+e|0,k);k=i[n>>2];h=d+k|0;f=f+1|0;if(f>>>0>2]){continue}break}e=i[c+12>>2]}f=i[c+28>>2];f=j[p+84|0]?f:i[i[p+68>>2]+(f<<2)>>2];if(f>>>0>=l[p+80>>2]){break o}d=i[p+40>>2];sn(i[i[p>>2]>>2]+o(d,f)|0,e,d);m=m+1|0;f=i[c+16>>2];if(m>>>0<(i[c+20>>2]-f|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;v=v+1|0;if((v|0)==(t|0)){break e}f=i[a+12>>2];continue}}f=i[g+28>>2];if(f){continue}break}d=1}b=i[g+24>>2];a=(b>>>0)/341|0;f=i[g+12>>2];h=i[g+16>>2];q:{if((f|0)==(h|0)){break q}e=(a<<2)+f|0;k=i[e>>2]+o(b-o(a,341)|0,12)|0;b=b+i[g+28>>2]|0;a=(b>>>0)/341|0;a=i[(a<<2)+f>>2]+o(b-o(a,341)|0,12)|0;if((k|0)==(a|0)){break q}while(1){k=k+12|0;if((k-i[e>>2]|0)==4092){k=i[e+4>>2];e=e+4|0}if((a|0)!=(k|0)){continue}break}}i[g+28>>2]=0;k=h-f>>2;if(k>>>0>2){while(1){qn(i[f>>2]);f=i[g+12>>2]+4|0;i[g+12>>2]=f;h=i[g+16>>2];k=h-f>>2;if(k>>>0>2){continue}break}}e=170;r:{switch(k+ -1|0){case 1:e=341;case 0:i[g+24>>2]=e;break;default:break r}}s:{if((f|0)==(h|0)){break s}while(1){qn(i[f>>2]);f=f+4|0;if((h|0)!=(f|0)){continue}break}b=i[g+16>>2];a=i[g+12>>2];if((b|0)==(a|0)){break s}i[g+16>>2]=b+(((b-a|0)+ -4>>>2^-1)<<2)}a=i[g+8>>2];if(a){qn(a)}L=g+32|0;return d}Vm();x()}Vm();x()}function yb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;g=L-32|0;L=g;f=i[a+12>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{if(f){if(f>>>0>=1073741824){break a}d=f<<2;h=Gm(d);i[g+8>>2]=h;e=d+h|0;i[g+16>>2]=e;tn(h,0,d);i[g+12>>2]=e}m=i[a+116>>2];d=i[m>>2];if(d){i[m+4>>2]=d;qn(d);i[m+8>>2]=0;i[m>>2]=0;i[m+4>>2]=0;f=i[a+12>>2];h=i[g+8>>2];e=i[g+12>>2]}i[m+4>>2]=e;i[m>>2]=h;i[m+8>>2]=i[g+16>>2];h=0;i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;b:{if(f){if(f>>>0>=1073741824){break b}d=f<<2;k=Gm(d);i[g+8>>2]=k;h=d+k|0;i[g+16>>2]=h;tn(k,0,d);i[g+12>>2]=h}e=i[a+128>>2];d=i[e>>2];if(d){i[e+4>>2]=d;qn(d);i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;k=i[g+8>>2];h=i[g+12>>2]}i[e+4>>2]=h;i[e>>2]=k;i[e+8>>2]=i[g+16>>2];h=g+24|0;i[h>>2]=0;i[h+4>>2]=0;e=g+16|0;i[e>>2]=0;i[e+4>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;Pb(g+8|0);m=i[g+12>>2];d=0;c:{if((m|0)==i[e>>2]){break c}e=i[h>>2]+i[g+28>>2]|0;d=(e>>>0)/341|0;d=i[m+(d<<2)>>2]+o(e-o(d,341)|0,12)|0}i[d+4>>2]=0;i[d+8>>2]=0;i[d>>2]=b;m=1;d=i[g+28>>2];f=d+1|0;i[g+28>>2]=f;d:{if(f>>>0>>0){break d}B=a+16|0;while(1){d=i[g+12>>2];m=f+ -1|0;n=m+i[g+24>>2]|0;e=(n>>>0)/341|0;e=i[d+(e<<2)>>2]+o(n-o(e,341)|0,12)|0;v=i[e+8>>2];h=i[e+4>>2];t=i[e>>2];i[g+28>>2]=m;e=i[g+16>>2];d=e-d|0;if((d?o(d>>2,341)+ -1|0:0)-n>>>0>=682){qn(i[e+ -4>>2]);i[g+16>>2]=i[g+16>>2]+ -4}if(t>>>0>b>>>0){m=0;break d}m=0;d=i[a+12>>2];k=(h|0)==(d+ -1|0)?0:h+1|0;if(k>>>0>=d>>>0){break d}d=i[a+116>>2];u=o(v,12);y=d+u|0;e:{q=k<<2;s=u+i[a+128>>2]|0;e=i[a>>2]-i[q+i[s>>2]>>2]|0;if(!e){if(!t){break e}p=0;while(1){q=0;f=i[c+16>>2];f:{if((f|0)==i[c+20>>2]){break f}while(1){d=o(q,20)+f|0;e=i[y>>2]+(i[d+4>>2]<<2)|0;s=i[d>>2];k=i[d+12>>2];g:{if(k>>>0>3){break g}h=i[c+12>>2];n=d+16|0;if(!i[n>>2]){e=h;break g}m=d+12|0;f=0;while(1){d=sn(h,(f<<2)+e|0,k);k=i[m>>2];h=d+k|0;f=f+1|0;if(f>>>0>2]){continue}break}e=i[c+12>>2]}f=i[c+28>>2];f=j[s+84|0]?f:i[i[s+68>>2]+(f<<2)>>2];if(f>>>0>=l[s+80>>2]){break f}d=i[s+40>>2];sn(i[i[s>>2]>>2]+o(d,f)|0,e,d);q=q+1|0;f=i[c+16>>2];if(q>>>0<(i[c+20>>2]-f|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;p=p+1|0;if((t|0)!=(p|0)){continue}break}break e}h:{i:{j:{k:{if(t>>>0<=2){d=i[a+104>>2];i[d>>2]=k;h=1;f=i[a+12>>2];if(f>>>0>1){break k}break h}if(l[a+8>>2]>l[a+4>>2]){break d}h=d;d=u+12|0;wa(h+d|0,i[y>>2],i[y+4>>2]);d=q+i[d+i[a+116>>2]>>2]|0;i[d>>2]=i[d>>2]+(1<>2]=0;Fe(B,r(t)^31,g+4|0);s=v+1|0;e=(t>>>1|0)-i[g+4>>2]|0;m=t-e|0;l:{if((m|0)==(e|0)){d=e;break l}p=i[a+84>>2];if((p|0)==i[a+76>>2]){break j}n=i[p>>2];h=i[a+88>>2];d=h+1|0;i[a+88>>2]=d;h=n&-2147483648>>>h;m:{if((d|0)==32){i[a+88>>2]=0;i[a+84>>2]=p+4;if(h){break m}break j}if(!h){break j}}d=m}m=e;break i}while(1){k=(f+ -1|0)==(k|0)?0:k+1|0;i[d+(h<<2)>>2]=k;h=h+1|0;f=i[a+12>>2];if(h>>>0>>0){continue}break}break h}d=e}p=i[a+128>>2];n=p+u|0;h=i[n>>2];e=h+q|0;i[e>>2]=i[e>>2]+1;wa(p+o(s,12)|0,h,i[n+4>>2]);if(m){h=i[g+28>>2]+i[g+24>>2]|0;n=i[g+16>>2];f=i[g+12>>2];e=n-f|0;if((h|0)==((e?o(e>>2,341)+ -1|0:0)|0)){Pb(g+8|0);f=i[g+12>>2];n=i[g+16>>2];h=i[g+24>>2]+i[g+28>>2]|0}if((f|0)==(n|0)){e=0}else{e=(h>>>0)/341|0;e=i[(e<<2)+f>>2]+o(h-o(e,341)|0,12)|0}i[e+8>>2]=v;i[e+4>>2]=k;i[e>>2]=m;i[g+28>>2]=i[g+28>>2]+1}if(!d){break e}h=i[g+28>>2]+i[g+24>>2]|0;e=i[g+16>>2];f=i[g+12>>2];m=e-f|0;if((h|0)==((m?o(m>>2,341)+ -1|0:0)|0)){Pb(g+8|0);f=i[g+12>>2];h=i[g+24>>2]+i[g+28>>2]|0;e=i[g+16>>2]}if((e|0)==(f|0)){e=0}else{e=(h>>>0)/341|0;e=i[(e<<2)+f>>2]+o(h-o(e,341)|0,12)|0}i[e+8>>2]=s;i[e+4>>2]=k;i[e>>2]=d;i[g+28>>2]=i[g+28>>2]+1;break e}if(!t){break e}A=0;while(1){if(f){p=i[y>>2];n=i[s>>2];k=i[a+92>>2];h=i[a+104>>2];f=0;while(1){v=h+(f<<2)|0;i[k+(i[v>>2]<<2)>>2]=0;d=i[v>>2]<<2;w=i[a>>2]-i[d+n>>2]|0;n:{if(!w){break n}z=d+k|0;u=i[a+48>>2];m=32-u|0;if((w|0)<=(m|0)){e=i[a+44>>2];if((e|0)==i[a+36>>2]){i[z>>2]=0;break n}i[z>>2]=i[e>>2]<>>32-w;d=w+i[a+48>>2]|0;i[a+48>>2]=d;if((d|0)!=32){break n}i[a+48>>2]=0;i[a+44>>2]=e+4;break n}q=i[a+44>>2];d=q+4|0;if((d|0)==i[a+36>>2]){i[z>>2]=0;break n}e=i[q>>2];i[a+44>>2]=d;d=w-m|0;i[a+48>>2]=d;i[z>>2]=i[q+4>>2]>>>32-d|e<>>32-w}e=i[v>>2]<<2;d=e+k|0;i[d>>2]=i[d>>2]|i[e+p>>2];f=f+1|0;if(f>>>0>2]){continue}break}}q=0;f=i[c+16>>2];o:{if((f|0)==i[c+20>>2]){break o}while(1){d=o(q,20)+f|0;e=i[a+92>>2]+(i[d+4>>2]<<2)|0;p=i[d>>2];k=i[d+12>>2];p:{if(k>>>0>3){break p}h=i[c+12>>2];n=d+16|0;if(!i[n>>2]){e=h;break p}m=d+12|0;f=0;while(1){d=sn(h,(f<<2)+e|0,k);k=i[m>>2];h=d+k|0;f=f+1|0;if(f>>>0>2]){continue}break}e=i[c+12>>2]}f=i[c+28>>2];f=j[p+84|0]?f:i[i[p+68>>2]+(f<<2)>>2];if(f>>>0>=l[p+80>>2]){break o}d=i[p+40>>2];sn(i[i[p>>2]>>2]+o(d,f)|0,e,d);q=q+1|0;f=i[c+16>>2];if(q>>>0<(i[c+20>>2]-f|0)/20>>>0){continue}break}}i[c+28>>2]=i[c+28>>2]+1;i[a+8>>2]=i[a+8>>2]+1;A=A+1|0;if((A|0)==(t|0)){break e}f=i[a+12>>2];continue}}f=i[g+28>>2];if(f){continue}break}m=1}b=i[g+24>>2];a=(b>>>0)/341|0;f=i[g+12>>2];h=i[g+16>>2];q:{if((f|0)==(h|0)){break q}e=(a<<2)+f|0;k=i[e>>2]+o(b-o(a,341)|0,12)|0;b=b+i[g+28>>2]|0;a=(b>>>0)/341|0;a=i[(a<<2)+f>>2]+o(b-o(a,341)|0,12)|0;if((k|0)==(a|0)){break q}while(1){k=k+12|0;if((k-i[e>>2]|0)==4092){k=i[e+4>>2];e=e+4|0}if((a|0)!=(k|0)){continue}break}}i[g+28>>2]=0;k=h-f>>2;if(k>>>0>2){while(1){qn(i[f>>2]);f=i[g+12>>2]+4|0;i[g+12>>2]=f;h=i[g+16>>2];k=h-f>>2;if(k>>>0>2){continue}break}}e=170;r:{switch(k+ -1|0){case 1:e=341;case 0:i[g+24>>2]=e;break;default:break r}}s:{if((f|0)==(h|0)){break s}while(1){qn(i[f>>2]);f=f+4|0;if((h|0)!=(f|0)){continue}break}b=i[g+16>>2];a=i[g+12>>2];if((b|0)==(a|0)){break s}i[g+16>>2]=b+(((b-a|0)+ -4>>>2^-1)<<2)}a=i[g+8>>2];if(a){qn(a)}L=g+32|0;return m}Vm();x()}Vm();x()}function Rc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;j=L+ -64|0;L=j;i[a+8>>2]=e;f=a+32|0;k=i[f>>2];d=i[a+36>>2]-k>>2;a:{if(d>>>0>>0){Ta(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}i[a+36>>2]=k+(e<<2)}i[j+56>>2]=0;i[j+60>>2]=0;i[j+48>>2]=0;i[j+52>>2]=0;i[j+40>>2]=0;i[j+44>>2]=0;f=j+32|0;i[f>>2]=0;i[f+4>>2]=0;i[j+24>>2]=0;i[j+28>>2]=0;i[j+16>>2]=0;i[j+20>>2]=0;i[j>>2]=0;d=0;if(e){Va(j+16|0,e,j);h=i[j+28>>2];d=i[f>>2]}i[j>>2]=0;d=d-h>>2;b:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break b}i[j+32>>2]=(e<<2)+h;break b}Va(j+16|12,e-d|0,j)}i[j>>2]=0;f=i[j+40>>2];d=i[j+44>>2]-f>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}i[j+44>>2]=f+(e<<2);break c}Va(j+40|0,e-d|0,j)}i[j>>2]=0;f=i[j+52>>2];d=i[j+56>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}i[j+56>>2]=f+(e<<2);break d}Va(j+52|0,e-d|0,j)}e:{if(i[a+8>>2]<=0){break e}g=i[j+16>>2];h=0;while(1){d=h<<2;f=i[d+g>>2];l=i[a+16>>2];f:{if((f|0)>(l|0)){k=i[a+32>>2];i[d+k>>2]=l;break f}k=i[a+32>>2];d=d+k|0;l=i[a+12>>2];if((f|0)<(l|0)){i[d>>2]=l;break f}i[d>>2]=f}h=h+1|0;d=i[a+8>>2];if((h|0)<(d|0)){continue}break}if((d|0)<1){break e}d=0;while(1){g=d<<2;f=g+c|0;g=i[b+g>>2]+i[g+k>>2]|0;i[f>>2]=g;g:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break g}g=g+i[a+20>>2]|0}i[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}A=i[a+52>>2];q=i[a+48>>2];u=Gm(16);d=u;i[d>>2]=0;i[d+4>>2]=0;i[d+8>>2]=0;i[d+12>>2]=0;i[j+8>>2]=0;i[j>>2]=0;i[j+4>>2]=0;h:{if(e){if(e>>>0>=1073741824){break h}d=e<<2;t=Gm(d);i[j>>2]=t;f=d+t|0;i[j+8>>2]=f;tn(t,0,d);i[j+4>>2]=f}d=1;f=i[a+56>>2];z=i[f>>2];f=i[f+4>>2]-z|0;i:{if((f|0)<5){break i}d=f>>2;B=(d|0)>2?d:2;C=d>>>0>1?d:1;D=e<<2;l=1;while(1){j:{k:{l:{if((l|0)!=(C|0)){m:{n:{k=i[(l<<2)+z>>2];if((k|0)==-1){break n}n=k+((k>>>0)%3|0?-1:2)|0;v=n>>>5|0;m=1;w=1<<(n&31);y=i[q>>2];f=0;d=k;o:{while(1){p:{if(i[y+(d>>>3&536870908)>>2]>>>(d&31)&1){break p}g=i[i[i[q+64>>2]+12>>2]+(d<<2)>>2];if((g|0)==-1){break p}r=i[A>>2];h=i[q+28>>2];s=i[r+(i[h+(g<<2)>>2]<<2)>>2];if((s|0)>=(l|0)){break p}p=g+1|0;p=i[r+(i[h+(((p>>>0)%3|0?p:g+ -2|0)<<2)>>2]<<2)>>2];if((p|0)>=(l|0)){break p}g=i[r+(i[h+(g+((g>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(l|0)){break p}if((e|0)>=1){r=i[(j+16|0)+o(f,12)>>2];g=o(e,g);p=o(e,p);s=o(e,s);h=0;while(1){i[r+(h<<2)>>2]=(i[(g+h<<2)+c>>2]+i[(h+p<<2)+c>>2]|0)-i[(h+s<<2)+c>>2];h=h+1|0;if((h|0)!=(e|0)){continue}break}}g=4;f=f+1|0;if((f|0)==4){break o}}q:{if(m&1){h=-1;g=d+1|0;d=(g>>>0)%3|0?g:d+ -2|0;if((d|0)==-1|i[i[q>>2]+(d>>>3&536870908)>>2]>>>(d&31)&1){break q}d=i[i[i[q+64>>2]+12>>2]+(d<<2)>>2];if((d|0)==-1){break q}g=d+1|0;h=(g>>>0)%3|0?g:d+ -2|0;break q}h=-1;d=((d>>>0)%3|0?-1:2)+d|0;if((d|0)==-1|i[i[q>>2]+(d>>>3&536870908)>>2]>>>(d&31)&1){break q}d=i[i[i[q+64>>2]+12>>2]+(d<<2)>>2];if((d|0)==-1){break q}if((d>>>0)%3|0){h=d+ -1|0;break q}h=d+2|0}r:{if((h|0)==(k|0)){break r}d=h;g=(h|0)!=-1;h=(g|m^-1)&1;d=h?d:-1;m=g&m;if(!((n|0)==-1|h)){if(i[i[q>>2]+(v<<2)>>2]&w){break r}g=i[i[i[q+64>>2]+12>>2]+(n<<2)>>2];if((g|0)==-1){break r}m=0;if((g>>>0)%3|0){d=g+ -1|0}else{d=g+2|0}}if((d|0)!=-1){continue}}break}g=f;if((g|0)<1){break n}}n=(e|0)<1;if(!n){tn(t,0,D)}d=g+ -1|0;m=(d<<2)+u|0;d=o(d,12)+a|0;r=d+60|0;v=i[d- -64>>2];d=0;w=i[j>>2];k=0;f=0;while(1){h=i[m>>2];i[m>>2]=h+1;if(v>>>0<=h>>>0){break i}s:{if(i[i[r>>2]+(h>>>3&536870908)>>2]>>>(h&31)&1){break s}f=f+1|0;if(n){break s}y=i[(j+16|0)+o(k,12)>>2];h=0;while(1){s=h<<2;p=s+w|0;i[p>>2]=i[p>>2]+i[s+y>>2];h=h+1|0;if((h|0)!=(e|0)){continue}break}}k=k+1|0;if((g|0)!=(k|0)){continue}break}m=o(e,l);g=m;if(!f){break m}h=0;if((e|0)>0){break l}break k}g=o(e,l)}if(i[a+8>>2]<1){break j}m=(o(l+ -1|0,e)<<2)+c|0;h=0;while(1){d=h<<2;f=i[d+m>>2];n=i[a+16>>2];t:{if((f|0)>(n|0)){k=i[a+32>>2];i[d+k>>2]=n;break t}k=i[a+32>>2];d=d+k|0;n=i[a+12>>2];if((f|0)<(n|0)){i[d>>2]=n;break t}i[d>>2]=f}h=h+1|0;f=i[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<1){break j}f=g<<2;h=f+c|0;m=b+f|0;while(1){g=d<<2;f=g+h|0;g=i[g+m>>2]+i[g+k>>2]|0;i[f>>2]=g;u:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break u}g=g+i[a+20>>2]|0}i[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}break j}Wm();x()}while(1){d=(h<<2)+t|0;i[d>>2]=i[d>>2]/(f|0);h=h+1|0;if((h|0)!=(e|0)){continue}break}}if(i[a+8>>2]<1){break j}h=0;while(1){d=h<<2;f=i[d+t>>2];g=i[a+16>>2];v:{if((f|0)>(g|0)){k=i[a+32>>2];i[d+k>>2]=g;break v}k=i[a+32>>2];d=d+k|0;g=i[a+12>>2];if((f|0)<(g|0)){i[d>>2]=g;break v}i[d>>2]=f}h=h+1|0;f=i[a+8>>2];if((h|0)<(f|0)){continue}break}d=0;if((f|0)<1){break j}f=m<<2;h=f+c|0;m=b+f|0;while(1){g=d<<2;f=g+h|0;g=i[g+m>>2]+i[g+k>>2]|0;i[f>>2]=g;w:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break w}g=g+i[a+20>>2]|0}i[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}d=1;l=l+1|0;if((B|0)!=(l|0)){continue}break}}a=i[j>>2];if(a){i[j+4>>2]=a;qn(a)}qn(u);a=i[j+52>>2];if(a){i[j+56>>2]=a;qn(a)}a=i[j+40>>2];if(a){i[j+44>>2]=a;qn(a)}a=i[j+28>>2];if(a){i[j+32>>2]=a;qn(a)}a=i[j+16>>2];if(a){i[j+20>>2]=a;qn(a)}L=j- -64|0;return d|0}Vm();x()}function yd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0;h=L+ -64|0;L=h;i[a+8>>2]=e;f=a+32|0;k=i[f>>2];d=i[a+36>>2]-k>>2;a:{if(d>>>0>>0){Ta(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}i[a+36>>2]=k+(e<<2)}i[h+56>>2]=0;i[h+60>>2]=0;i[h+48>>2]=0;i[h+52>>2]=0;i[h+40>>2]=0;i[h+44>>2]=0;d=h+32|0;i[d>>2]=0;i[d+4>>2]=0;i[h+24>>2]=0;i[h+28>>2]=0;i[h+16>>2]=0;i[h+20>>2]=0;i[h>>2]=0;f=0;if(e){Va(h+16|0,e,h);j=i[h+28>>2];f=i[d>>2]}i[h>>2]=0;d=f-j>>2;b:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break b}i[h+32>>2]=(e<<2)+j;break b}Va(h+16|12,e-d|0,h)}i[h>>2]=0;f=i[h+40>>2];d=i[h+44>>2]-f>>2;c:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break c}i[h+44>>2]=f+(e<<2);break c}Va(h+40|0,e-d|0,h)}i[h>>2]=0;f=i[h+52>>2];d=i[h+56>>2]-f>>2;d:{if(d>>>0>=e>>>0){if(d>>>0<=e>>>0){break d}i[h+56>>2]=f+(e<<2);break d}Va(h+52|0,e-d|0,h)}e:{if(i[a+8>>2]<=0){break e}g=i[h+16>>2];j=0;while(1){d=j<<2;f=i[d+g>>2];m=i[a+16>>2];f:{if((f|0)>(m|0)){k=i[a+32>>2];i[d+k>>2]=m;break f}k=i[a+32>>2];d=d+k|0;m=i[a+12>>2];if((f|0)<(m|0)){i[d>>2]=m;break f}i[d>>2]=f}j=j+1|0;d=i[a+8>>2];if((j|0)<(d|0)){continue}break}if((d|0)<1){break e}f=0;while(1){g=f<<2;d=g+c|0;g=i[b+g>>2]+i[g+k>>2]|0;i[d>>2]=g;g:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break g}g=g+i[a+20>>2]|0}i[d>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}A=i[a+52>>2];y=i[a+48>>2];w=Gm(16);d=w;i[d>>2]=0;i[d+4>>2]=0;i[d+8>>2]=0;i[d+12>>2]=0;i[h+8>>2]=0;i[h>>2]=0;i[h+4>>2]=0;h:{if(e){if(e>>>0>=1073741824){break h}d=e<<2;s=Gm(d);i[h>>2]=s;f=d+s|0;i[h+8>>2]=f;tn(s,0,d);i[h+4>>2]=f}k=1;d=i[a+56>>2];z=i[d>>2];d=i[d+4>>2]-z|0;i:{if((d|0)<5){break i}d=d>>2;B=(d|0)>2?d:2;C=d>>>0>1?d:1;D=e<<2;m=1;while(1){j:{k:{l:{if((m|0)!=(C|0)){m:{n:{k=i[(m<<2)+z>>2];if((k|0)==-1){break n}n=i[y+12>>2];u=k+((k>>>0)%3|0?-1:2)|0;v=n+(u<<2)|0;l=1;f=0;d=k;o:{while(1){g=i[n+(d<<2)>>2];p:{if((g|0)==-1){break p}j=-1;r=i[A>>2];p=i[y>>2];t=i[r+(i[p+(g<<2)>>2]<<2)>>2];q=g+1|0;q=(q>>>0)%3|0?q:g+ -2|0;if((q|0)!=-1){q=i[p+(q<<2)>>2]}else{q=-1}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)!=-1){j=i[p+(g<<2)>>2]}if((t|0)>=(m|0)){break p}g=i[(q<<2)+r>>2];if((g|0)>=(m|0)){break p}j=i[r+(j<<2)>>2];if((j|0)>=(m|0)){break p}p=i[(h+16|0)+o(f,12)>>2];if((e|0)>=1){r=o(e,j);g=o(e,g);t=o(e,t);j=0;while(1){i[p+(j<<2)>>2]=(i[(j+r<<2)+c>>2]+i[(g+j<<2)+c>>2]|0)-i[(j+t<<2)+c>>2];j=j+1|0;if((j|0)!=(e|0)){continue}break}}g=4;f=f+1|0;if((f|0)==4){break o}}q:{if(l&1){p=d+1|0;d=(p>>>0)%3|0?p:d+ -2|0;g=-1;if((d|0)==-1){break q}d=i[n+(d<<2)>>2];g=-1;if((d|0)==-1){break q}g=d+1|0;g=(g>>>0)%3|0?g:d+ -2|0;break q}d=((d>>>0)%3|0?-1:2)+d|0;g=-1;if((d|0)==-1){break q}d=i[n+(d<<2)>>2];g=-1;if((d|0)==-1){break q}g=d+ -1|0;if((d>>>0)%3|0){break q}g=d+2|0}r:{if((g|0)==(k|0)){break r}d=g;g=(g|0)!=-1;j=(g|l^-1)&1;d=j?d:-1;l=g&l;if(!((u|0)==-1|j)){g=i[v>>2];if((g|0)==-1){break r}l=0;if((g>>>0)%3|0){d=g+ -1|0}else{d=g+2|0}}if((d|0)!=-1){continue}}break}g=f;if((g|0)<1){break n}}n=(e|0)<1;if(!n){tn(s,0,D)}d=g+ -1|0;l=(d<<2)+w|0;d=o(d,12)+a|0;p=d+60|0;r=i[d- -64>>2];k=0;t=i[h>>2];d=0;f=0;while(1){j=i[l>>2];i[l>>2]=j+1;if(r>>>0<=j>>>0){break i}s:{if(i[i[p>>2]+(j>>>3&536870908)>>2]>>>(j&31)&1){break s}f=f+1|0;if(n){break s}q=i[(h+16|0)+o(d,12)>>2];j=0;while(1){u=j<<2;v=u+t|0;i[v>>2]=i[v>>2]+i[q+u>>2];j=j+1|0;if((j|0)!=(e|0)){continue}break}}d=d+1|0;if((g|0)!=(d|0)){continue}break}g=o(e,m);d=g;if(!f){break m}j=0;if((e|0)>0){break l}break k}d=o(e,m)}if(i[a+8>>2]<1){break j}l=(o(m+ -1|0,e)<<2)+c|0;j=0;while(1){f=j<<2;g=i[f+l>>2];n=i[a+16>>2];t:{if((g|0)>(n|0)){k=i[a+32>>2];i[f+k>>2]=n;break t}k=i[a+32>>2];f=f+k|0;n=i[a+12>>2];if((g|0)<(n|0)){i[f>>2]=n;break t}i[f>>2]=g}j=j+1|0;g=i[a+8>>2];if((j|0)<(g|0)){continue}break}f=0;if((g|0)<1){break j}d=d<<2;j=d+c|0;l=b+d|0;while(1){g=f<<2;d=g+j|0;g=i[g+l>>2]+i[g+k>>2]|0;i[d>>2]=g;u:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break u}g=g+i[a+20>>2]|0}i[d>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}break j}Wm();x()}while(1){d=(j<<2)+s|0;i[d>>2]=i[d>>2]/(f|0);j=j+1|0;if((j|0)!=(e|0)){continue}break}}if(i[a+8>>2]<1){break j}j=0;while(1){d=j<<2;f=i[d+s>>2];l=i[a+16>>2];v:{if((f|0)>(l|0)){k=i[a+32>>2];i[d+k>>2]=l;break v}k=i[a+32>>2];d=d+k|0;l=i[a+12>>2];if((f|0)<(l|0)){i[d>>2]=l;break v}i[d>>2]=f}j=j+1|0;d=i[a+8>>2];if((j|0)<(d|0)){continue}break}f=0;if((d|0)<1){break j}d=g<<2;j=d+c|0;l=b+d|0;while(1){g=f<<2;d=g+j|0;g=i[g+l>>2]+i[g+k>>2]|0;i[d>>2]=g;w:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break w}g=g+i[a+20>>2]|0}i[d>>2]=g}f=f+1|0;if((f|0)>2]){continue}break}}k=1;m=m+1|0;if((B|0)!=(m|0)){continue}break}}a=i[h>>2];if(a){i[h+4>>2]=a;qn(a)}qn(w);a=i[h+52>>2];if(a){i[h+56>>2]=a;qn(a)}a=i[h+40>>2];if(a){i[h+44>>2]=a;qn(a)}a=i[h+28>>2];if(a){i[h+32>>2]=a;qn(a)}a=i[h+16>>2];if(a){i[h+20>>2]=a;qn(a)}L=h- -64|0;return k|0}Vm();x()}function Hl(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;f=L-32|0;L=f;g=i[a+12>>2];i[f+16>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;a:{if(g){if(g>>>0>=1073741824){break a}d=g<<2;e=Gm(d);i[f+8>>2]=e;h=d+e|0;i[f+16>>2]=h;tn(e,0,d);i[f+12>>2]=h}d=i[a+120>>2];j=i[d>>2];if(j){i[d+4>>2]=j;qn(j);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;h=i[f+12>>2];g=i[a+12>>2];e=i[f+8>>2]}i[d+4>>2]=h;i[d>>2]=e;i[d+8>>2]=i[f+16>>2];e=0;i[f+16>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;b:{if(g){if(g>>>0>=1073741824){break b}d=g<<2;k=Gm(d);i[f+8>>2]=k;e=d+k|0;i[f+16>>2]=e;tn(k,0,d);i[f+12>>2]=e}d=i[a+132>>2];j=i[d>>2];if(j){i[d+4>>2]=j;qn(j);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;k=i[f+8>>2];e=i[f+12>>2]}i[d+4>>2]=e;i[d>>2]=k;i[d+8>>2]=i[f+16>>2];e=f+24|0;i[e>>2]=0;i[e+4>>2]=0;j=f+16|0;i[j>>2]=0;i[j+4>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;Pb(f+8|0);g=i[j>>2];j=i[f+12>>2];d=0;c:{if((g|0)==(j|0)){break c}d=i[e>>2]+i[f+28>>2]|0;e=(d>>>0)/341|0;d=i[j+(e<<2)>>2]+o(d-o(e,341)|0,12)|0}i[d+4>>2]=0;i[d+8>>2]=0;i[d>>2]=b;d=i[f+28>>2];g=d+1|0;i[f+28>>2]=g;d:{if(g>>>0>>0){break d}y=a+96|0;while(1){k=i[f+12>>2];g=g+ -1|0;d=g+i[f+24>>2]|0;e=(d>>>0)/341|0;e=i[k+(e<<2)>>2]+o(d-o(e,341)|0,12)|0;s=i[e+8>>2];h=i[e+4>>2];j=i[e>>2];i[f+28>>2]=g;e=i[f+16>>2];g=e-k|0;if((g?o(g>>2,341)+ -1|0:0)-d>>>0>=682){qn(i[e+ -4>>2]);i[f+16>>2]=i[f+16>>2]+ -4}if(j>>>0>b>>>0){break d}d=i[a+120>>2];g=o(s,12);n=g+i[a+132>>2]|0;k=xl(a,n,h);if(k>>>0>=l[a+12>>2]){break d}h=d+g|0;e:{f:{p=k<<2;d=i[a>>2]-i[p+i[n>>2]>>2]|0;if(!d){g=0;if(!j){break f}while(1){Ol(c,h);i[a+8>>2]=i[a+8>>2]+1;g=g+1|0;if((j|0)!=(g|0)){continue}break}break f}g:{h:{i:{j:{if(j>>>0<=2){d=i[a+108>>2];i[d>>2]=k;e=1;g=i[a+12>>2];if(g>>>0>1){break j}break g}if(l[a+8>>2]>l[a+4>>2]){break d}e=1<>2];t=s+1|0;n=o(t,12);m=d+n|0;if((m|0)!=(h|0)){wa(m,i[h>>2],i[h+4>>2]);d=i[a+120>>2]}d=p+i[d+n>>2]|0;i[d>>2]=e+i[d>>2];d=r(j)^31;e=i[a+32>>2];m=32-e|0;k:{if((d|0)<=(m|0)){h=i[a+28>>2];if((h|0)==i[a+20>>2]){e=0;break k}m=i[h>>2];q=d+e|0;i[a+32>>2]=q;e=m<>>32-d|0;if((q|0)!=32){break k}i[a+32>>2]=0;i[a+28>>2]=h+4;break k}h=i[a+28>>2];q=h+4|0;if((q|0)==i[a+20>>2]){e=0;break k}v=i[h>>2];i[a+28>>2]=q;m=d-m|0;i[a+32>>2]=m;e=i[h+4>>2]>>>32-m|v<>>32-d}d=(j>>>1|0)-e|0;e=j-d|0;l:{if((e|0)==(d|0)){e=d;break l}j=i[a+88>>2];if((j|0)==i[a+80>>2]){break i}h=i[j>>2];m=i[a+92>>2];q=m+1|0;i[a+92>>2]=q;h=h&-2147483648>>>m;m:{if((q|0)==32){i[a+92>>2]=0;i[a+88>>2]=j+4;if(h){break m}break i}if(!h){break i}}}j=e;e=d;break h}while(1){k=(g+ -1|0)==(k|0)?0:k+1|0;i[d+(e<<2)>>2]=k;e=e+1|0;g=i[a+12>>2];if(e>>>0>>0){continue}break}break g}j=d}d=i[a+132>>2];g=d+g|0;h=i[g>>2];p=h+p|0;i[p>>2]=i[p>>2]+1;wa(d+n|0,h,i[g+4>>2]);if(e){h=i[f+28>>2]+i[f+24>>2]|0;d=i[f+16>>2];g=i[f+12>>2];n=d-g|0;if((h|0)==((n?o(n>>2,341)+ -1|0:0)|0)){Pb(f+8|0);h=i[f+24>>2]+i[f+28>>2]|0;g=i[f+12>>2];d=i[f+16>>2]}if((d|0)==(g|0)){d=0}else{d=(h>>>0)/341|0;d=i[(d<<2)+g>>2]+o(h-o(d,341)|0,12)|0}i[d+8>>2]=s;i[d+4>>2]=k;i[d>>2]=e;i[f+28>>2]=i[f+28>>2]+1}if(!j){break f}e=i[f+28>>2]+i[f+24>>2]|0;h=i[f+16>>2];g=i[f+12>>2];d=h-g|0;if((e|0)==((d?o(d>>2,341)+ -1|0:0)|0)){Pb(f+8|0);h=i[f+16>>2];g=i[f+12>>2];e=i[f+24>>2]+i[f+28>>2]|0}d=0;n:{if((g|0)==(h|0)){break n}d=(e>>>0)/341|0;d=i[(d<<2)+g>>2]+o(e-o(d,341)|0,12)|0}i[d+8>>2]=t;i[d+4>>2]=k;i[d>>2]=j;g=i[f+28>>2]+1|0;i[f+28>>2]=g;break e}if(!j){break f}s=0;while(1){if(g){q=i[h>>2];v=i[n>>2];k=i[a+96>>2];z=i[a+108>>2];g=0;while(1){p=z+(g<<2)|0;i[k+(i[p>>2]<<2)>>2]=0;e=i[p>>2]<<2;d=i[a>>2]-i[e+v>>2]|0;o:{if(!d){break o}e=e+k|0;t=i[a+52>>2];u=32-t|0;if((d|0)<=(u|0)){m=i[a+48>>2];if((m|0)==i[a+40>>2]){i[e>>2]=0;break o}i[e>>2]=i[m>>2]<>>32-d;d=d+i[a+52>>2]|0;i[a+52>>2]=d;if((d|0)!=32){break o}i[a+52>>2]=0;i[a+48>>2]=m+4;break o}m=i[a+48>>2];w=m+4|0;if((w|0)==i[a+40>>2]){i[e>>2]=0;break o}A=i[m>>2];i[a+48>>2]=w;u=d-u|0;i[a+52>>2]=u;i[e>>2]=i[m+4>>2]>>>32-u|A<>>32-d}d=i[p>>2]<<2;e=d+k|0;i[e>>2]=i[e>>2]|i[d+q>>2];g=g+1|0;if(g>>>0>2]){continue}break}}Ol(c,y);i[a+8>>2]=i[a+8>>2]+1;s=s+1|0;if((s|0)==(j|0)){break f}g=i[a+12>>2];continue}}g=i[f+28>>2]}if(g){continue}break}}b=i[f+24>>2];c=(b>>>0)/341|0;a=i[f+12>>2];k=i[f+16>>2];p:{if((a|0)==(k|0)){break p}e=(c<<2)+a|0;g=i[e>>2]+o(b-o(c,341)|0,12)|0;b=b+i[f+28>>2]|0;c=(b>>>0)/341|0;b=i[(c<<2)+a>>2]+o(b-o(c,341)|0,12)|0;if((g|0)==(b|0)){break p}while(1){g=g+12|0;if((g-i[e>>2]|0)==4092){g=i[e+4>>2];e=e+4|0}if((b|0)!=(g|0)){continue}break}}i[f+28>>2]=0;g=k-a>>2;if(g>>>0>2){while(1){qn(i[a>>2]);a=i[f+12>>2]+4|0;i[f+12>>2]=a;k=i[f+16>>2];g=k-a>>2;if(g>>>0>2){continue}break}}e=170;q:{switch(g+ -1|0){case 1:e=341;case 0:i[f+24>>2]=e;break;default:break q}}r:{if((a|0)==(k|0)){break r}while(1){qn(i[a>>2]);a=a+4|0;if((k|0)!=(a|0)){continue}break}a=i[f+16>>2];b=i[f+12>>2];if((a|0)==(b|0)){break r}i[f+16>>2]=a+(((a-b|0)+ -4>>>2^-1)<<2)}a=i[f+8>>2];if(a){qn(a)}L=f+32|0;return}Vm();x()}Vm();x()}function Db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=L-720|0;L=e;a:{b:{c:{d:{e:{f:{if(k[b+38>>1]>=515){i[e+680>>2]=0;i[e+672>>2]=0;i[e+676>>2]=0;if((O[i[i[a>>2]+24>>2]](a)|0)<1){break d}s=a+36|0;p=e+24|0;while(1){c=O[i[i[a>>2]+20>>2]](a,f)|0;d=i[i[i[(O[i[i[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];if(i[d+28>>2]==9){h=i[e+672>>2];c=i[e+676>>2]-h>>2;q=g[d+24|0];g:{if(c>>>0>>0){pa(e+672|0,q-c|0);break g}if(c>>>0<=q>>>0){break g}i[e+676>>2]=h+(q<<2)}d=i[b+12>>2];c=i[b+20>>2];m=i[b+16>>2];n=q<<2;h=n;t=m+h|0;if(t>>>0>>0){c=c+1|0}if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]>>0:0){break b}sn(i[e+672>>2],m+i[b>>2]|0,n);c=b;r=c;d=i[c+20>>2];m=h+i[c+16>>2]|0;if(m>>>0>>0){d=d+1|0}h=m;i[r+16>>2]=h;i[c+20>>2]=d;r=i[b+12>>2];n=r;c=d;m=h+4|0;if(m>>>0<4){d=d+1|0}t=i[b+8>>2];if((n|0)<(d|0)?1:(n|0)<=(d|0)?t>>>0>>0:0){break b}u=i[b>>2];n=u+h|0;n=j[n|0]|j[n+1|0]<<8|(j[n+2|0]<<16|j[n+3|0]<<24);i[b+16>>2]=m;i[b+20>>2]=d;if((r|0)<(d|0)?1:(r|0)<=(d|0)?t>>>0<=m>>>0:0){break b}m=j[m+u|0];h=h+5|0;if(h>>>0<5){c=c+1|0}d=b;i[d+16>>2]=h;i[d+20>>2]=c;if(m>>>0>31){break b}i[e+20>>2]=-1;i[e+16>>2]=1140;c=p;i[c+8>>2]=0;i[c+12>>2]=0;i[c>>2]=0;i[c+4>>2]=0;c=0;h:{if(!va(e+16|0,m,i[e+672>>2],q,(Sn(2,n),Tn()))){break h}if(!Ea(e+16|0,i[i[a+60>>2]+((i[a+40>>2]-i[a+36>>2]|0)/24<<2)>>2])){break h}c=i[a+40>>2];i:{if((c|0)!=i[a+44>>2]){i[c>>2]=1140;d=i[e+20>>2];i[c+16>>2]=0;i[c+8>>2]=0;i[c+12>>2]=0;i[c+4>>2]=d;d=i[e+28>>2]-i[e+24>>2]|0;if(d){h=d>>2;if(h>>>0>=1073741824){break f}d=Gm(d);i[c+8>>2]=d;i[c+12>>2]=d;i[c+16>>2]=d+(h<<2);h=c;m=i[e+24>>2];q=i[e+28>>2]-m|0;if((q|0)>=1){d=sn(d,m,q)+q|0}i[h+12>>2]=d}i[c+20>>2]=i[e+36>>2];i[a+40>>2]=c+24;break i}Eb(s,e+16|0)}c=1}i[e+16>>2]=1140;d=i[e+24>>2];if(d){i[e+28>>2]=d;qn(d)}if(!c){break c}}f=f+1|0;if((f|0)<(O[i[i[a>>2]+24>>2]](a)|0)){continue}break}break d}m=O[i[i[a>>2]+24>>2]](a)|0;i[e+712>>2]=0;i[e+704>>2]=0;i[e+708>>2]=0;j:{k:{if(!m){break k}if(m>>>0>=214748365){break e}d=o(m,20);c=Gm(d);i[e+704>>2]=c;i[e+708>>2]=c;d=c+d|0;i[e+712>>2]=d;f=c;while(1){i[f>>2]=0;i[f+4>>2]=0;i[f+16>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;f=f+20|0;if((d|0)!=(f|0)){continue}break}i[e+708>>2]=d;if(!m){break k}d=0;while(1){f=O[i[i[a>>2]+20>>2]](a,d)|0;p=i[i[i[(O[i[i[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(f<<2)>>2];h=i[p+28>>2];f=Hh(h);n=(f|0)>0?f:0;if(n>>>0>4){break j}f=c+o(d,20)|0;r=g[p+24|0];i[f+16>>2]=r;i[f+12>>2]=n;i[f+8>>2]=h;i[f+4>>2]=q;i[f>>2]=p;q=q+r|0;d=d+1|0;if((m|0)!=(d|0)){continue}break}}c=O[i[i[a>>2]+20>>2]](a,0)|0;t=i[i[i[(O[i[i[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];g[t+84|0]=1;i[t+72>>2]=i[t+68>>2];r=i[b+8>>2];n=i[b+16>>2];f=i[b+12>>2];d=f;c=i[b+20>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?r>>>0<=n>>>0:0){break j}u=i[b>>2];w=j[u+n|0];h=b;d=c;p=n+1|0;if(p>>>0<1){d=d+1|0}s=p;p=d;i[h+16>>2]=s;i[h+20>>2]=d;l:{m:{switch(w|0){case 0:if((f|0)<(p|0)?1:(f|0)<=(p|0)?r>>>0<=s>>>0:0){break j}a=c;p=n+2|0;if(p>>>0<2){a=a+1|0}d=b;i[d+16>>2]=p;i[d+20>>2]=a;a=n+6|0;if(a>>>0<6){c=c+1|0}d=a;a=c;if((f|0)<(c|0)?1:(f|0)<=(c|0)?r>>>0>>0:0){break j}c=p+u|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=d;i[b+20>>2]=a;Ma(t,c);a=e+672|0;i[a+20>>2]=0;i[a+12>>2]=0;i[a+16>>2]=0;i[a>>2]=0;i[a+4>>2]=0;i[a+20>>2]=c;c=a;a=fb(e+16|0,e+704|0);c=Fb(c,b,a);b=i[a+16>>2];if(b){i[a+20>>2]=b;qn(b)}b=i[a>>2];if(b){i[a+4>>2]=b;qn(b)}if(c){break l}break j;case 1:break m;default:break j}}if((f|0)<(p|0)?1:(f|0)<=(p|0)?r>>>0<=s>>>0:0){break j}h=j[s+u|0];d=c;s=n+2|0;if(s>>>0<2){d=d+1|0}i[b+16>>2]=s;i[b+20>>2]=d;if(h>>>0>=7){i[e>>2]=h;zn(1620,e);break j}d=n+6|0;if(d>>>0<6){c=c+1|0}p=d;d=c;if((f|0)<(c|0)?1:(f|0)<=(c|0)?r>>>0

>>0:0){break j}c=s+u|0;f=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=p;i[b+20>>2]=d;if(m){d=0;while(1){c=O[i[i[a>>2]+20>>2]](a,d)|0;c=i[i[i[(O[i[i[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];Ma(c,f);g[c+84|0]=1;i[c+72>>2]=i[c+68>>2];d=d+1|0;if((m|0)!=(d|0)){continue}break}}a=0;c=fb(e+672|0,e+704|0);n:{o:{p:{switch(h|0){case 0:d=ib(e+16|0,q);b=gb(d,b,c);hb(d);if(b){break o}break n;case 1:d=ib(e+16|0,q);b=jb(d,b,c);hb(d);if(b){break o}break n;case 2:d=mb(e+16|0,q);b=kb(d,b,c);lb(d);if(b){break o}break n;case 3:d=mb(e+16|0,q);b=nb(d,b,c);lb(d);if(b){break o}break n;case 4:d=qb(e+16|0,q);b=ob(d,b,c);pb(d);if(b){break o}break n;case 5:d=qb(e+16|0,q);b=rb(d,b,c);pb(d);if(b){break o}break n;case 6:break p;default:break n}}d=qb(e+16|0,q);b=sb(d,b,c);pb(d);if(!b){break n}}a=1}b=i[c+16>>2];if(b){i[c+20>>2]=b;qn(b)}b=i[c>>2];if(b){i[c+4>>2]=b;qn(b)}if(!a){break j}}v=1}a=i[e+704>>2];if(!a){break a}i[e+708>>2]=a;qn(a);break a}Vm();x()}Vm();x()}v=1;if(i[a+52>>2]==i[a+48>>2]){break b}f=0;while(1){if(!Gb(1,e+16|0,b)){break c}c=i[a+48>>2];d=i[e+16>>2];i[c+(f<<2)>>2]=0-(d&1)^d>>>1;f=f+1|0;if(f>>>0>2]-c>>2>>>0){continue}break}break b}v=0}a=i[e+672>>2];if(!a){break a}i[e+676>>2]=a;qn(a)}L=e+720|0;return v|0}function Il(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;e=L-32|0;L=e;g=i[a+12>>2];i[e+16>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;a:{if(g){if(g>>>0>=1073741824){break a}d=g<<2;h=Gm(d);i[e+8>>2]=h;f=d+h|0;i[e+16>>2]=f;tn(h,0,d);i[e+12>>2]=f}d=i[a+120>>2];j=i[d>>2];if(j){i[d+4>>2]=j;qn(j);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;h=i[e+8>>2];g=i[a+12>>2];f=i[e+12>>2]}i[d+4>>2]=f;i[d>>2]=h;i[d+8>>2]=i[e+16>>2];h=0;i[e+16>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;b:{if(g){if(g>>>0>=1073741824){break b}d=g<<2;k=Gm(d);i[e+8>>2]=k;h=d+k|0;i[e+16>>2]=h;tn(k,0,d);i[e+12>>2]=h}d=i[a+132>>2];f=i[d>>2];if(f){i[d+4>>2]=f;qn(f);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;k=i[e+8>>2];h=i[e+12>>2]}i[d+4>>2]=h;i[d>>2]=k;i[d+8>>2]=i[e+16>>2];f=e+24|0;i[f>>2]=0;i[f+4>>2]=0;j=e+16|0;i[j>>2]=0;i[j+4>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;Pb(e+8|0);h=i[j>>2];j=i[e+12>>2];d=0;c:{if((h|0)==(j|0)){break c}d=i[f>>2]+i[e+28>>2]|0;f=(d>>>0)/341|0;d=i[j+(f<<2)>>2]+o(d-o(f,341)|0,12)|0}i[d+4>>2]=0;i[d+8>>2]=0;i[d>>2]=b;d=i[e+28>>2];g=d+1|0;i[e+28>>2]=g;d:{if(g>>>0>>0){break d}v=a+96|0;while(1){h=i[e+12>>2];g=g+ -1|0;f=g+i[e+24>>2]|0;d=(f>>>0)/341|0;d=i[h+(d<<2)>>2]+o(f-o(d,341)|0,12)|0;q=i[d+8>>2];j=i[d+4>>2];d=i[d>>2];i[e+28>>2]=g;g=i[e+16>>2];h=g-h|0;if((h?o(h>>2,341)+ -1|0:0)-f>>>0>=682){qn(i[g+ -4>>2]);i[e+16>>2]=i[e+16>>2]+ -4}if(d>>>0>b>>>0){break d}f=i[a+12>>2];k=(j|0)==(f+ -1|0)?0:j+1|0;if(k>>>0>=f>>>0){break d}f=i[a+120>>2];g=o(q,12);j=f+g|0;e:{f:{h=k<<2;s=g+i[a+132>>2]|0;n=i[a>>2]-i[h+i[s>>2]>>2]|0;if(!n){g=0;if(!d){break f}while(1){Ol(c,j);i[a+8>>2]=i[a+8>>2]+1;g=g+1|0;if((d|0)!=(g|0)){continue}break}break f}g:{h:{i:{j:{if(d>>>0<=2){f=i[a+108>>2];i[f>>2]=k;h=1;g=i[a+12>>2];if(g>>>0>1){break j}break g}if(l[a+8>>2]>l[a+4>>2]){break d}m=f;f=g+12|0;wa(m+f|0,i[j>>2],i[j+4>>2]);f=h+i[f+i[a+120>>2]>>2]|0;i[f>>2]=i[f>>2]+(1<>2];m=32-j|0;k:{if((f|0)<=(m|0)){n=i[a+28>>2];if((n|0)==i[a+20>>2]){f=0;break k}m=i[n>>2];p=f+j|0;i[a+32>>2]=p;f=m<>>32-f|0;if((p|0)!=32){break k}i[a+32>>2]=0;i[a+28>>2]=n+4;break k}n=i[a+28>>2];p=n+4|0;if((p|0)==i[a+20>>2]){f=0;break k}s=i[n>>2];i[a+28>>2]=p;m=f-m|0;i[a+32>>2]=m;f=i[n+4>>2]>>>32-m|s<>>32-f}n=q+1|0;j=d;d=(d>>>1|0)-f|0;f=j-d|0;l:{if((f|0)==(d|0)){f=d;break l}j=i[a+88>>2];if((j|0)==i[a+80>>2]){break i}m=i[j>>2];p=i[a+92>>2];s=p+1|0;i[a+92>>2]=s;m=m&-2147483648>>>p;m:{if((s|0)==32){i[a+92>>2]=0;i[a+88>>2]=j+4;if(m){break m}break i}if(!m){break i}}}j=f;f=d;break h}while(1){k=(g+ -1|0)==(k|0)?0:k+1|0;i[f+(h<<2)>>2]=k;h=h+1|0;g=i[a+12>>2];if(h>>>0>>0){continue}break}break g}j=d}m=h;d=i[a+132>>2];g=d+g|0;h=i[g>>2];m=m+h|0;i[m>>2]=i[m>>2]+1;wa(d+o(n,12)|0,h,i[g+4>>2]);if(f){h=i[e+28>>2]+i[e+24>>2]|0;d=i[e+16>>2];g=i[e+12>>2];m=d-g|0;if((h|0)==((m?o(m>>2,341)+ -1|0:0)|0)){Pb(e+8|0);h=i[e+24>>2]+i[e+28>>2]|0;g=i[e+12>>2];d=i[e+16>>2]}if((d|0)==(g|0)){d=0}else{d=(h>>>0)/341|0;d=i[(d<<2)+g>>2]+o(h-o(d,341)|0,12)|0}i[d+8>>2]=q;i[d+4>>2]=k;i[d>>2]=f;i[e+28>>2]=i[e+28>>2]+1}if(!j){break f}h=i[e+28>>2]+i[e+24>>2]|0;f=i[e+16>>2];g=i[e+12>>2];d=f-g|0;if((h|0)==((d?o(d>>2,341)+ -1|0:0)|0)){Pb(e+8|0);h=i[e+24>>2]+i[e+28>>2]|0;g=i[e+12>>2];f=i[e+16>>2]}d=0;n:{if((f|0)==(g|0)){break n}d=(h>>>0)/341|0;d=i[(d<<2)+g>>2]+o(h-o(d,341)|0,12)|0}i[d+8>>2]=n;i[d+4>>2]=k;i[d>>2]=j;g=i[e+28>>2]+1|0;i[e+28>>2]=g;break e}if(!d){break f}q=0;while(1){if(g){w=i[j>>2];y=i[s>>2];k=i[a+96>>2];z=i[a+108>>2];g=0;while(1){n=z+(g<<2)|0;i[k+(i[n>>2]<<2)>>2]=0;h=i[n>>2]<<2;f=i[a>>2]-i[h+y>>2]|0;o:{if(!f){break o}h=h+k|0;m=i[a+52>>2];t=32-m|0;if((f|0)<=(t|0)){p=i[a+48>>2];if((p|0)==i[a+40>>2]){i[h>>2]=0;break o}i[h>>2]=i[p>>2]<>>32-f;f=f+i[a+52>>2]|0;i[a+52>>2]=f;if((f|0)!=32){break o}i[a+52>>2]=0;i[a+48>>2]=p+4;break o}p=i[a+48>>2];u=p+4|0;if((u|0)==i[a+40>>2]){i[h>>2]=0;break o}A=i[p>>2];i[a+48>>2]=u;t=f-t|0;i[a+52>>2]=t;i[h>>2]=i[p+4>>2]>>>32-t|A<>>32-f}f=i[n>>2]<<2;h=f+k|0;i[h>>2]=i[h>>2]|i[f+w>>2];g=g+1|0;if(g>>>0>2]){continue}break}}Ol(c,v);i[a+8>>2]=i[a+8>>2]+1;q=q+1|0;if((q|0)==(d|0)){break f}g=i[a+12>>2];continue}}g=i[e+28>>2]}if(g){continue}break}}b=i[e+24>>2];c=(b>>>0)/341|0;a=i[e+12>>2];k=i[e+16>>2];p:{if((a|0)==(k|0)){break p}h=(c<<2)+a|0;g=i[h>>2]+o(b-o(c,341)|0,12)|0;b=b+i[e+28>>2]|0;c=(b>>>0)/341|0;b=i[(c<<2)+a>>2]+o(b-o(c,341)|0,12)|0;if((g|0)==(b|0)){break p}while(1){g=g+12|0;if((g-i[h>>2]|0)==4092){g=i[h+4>>2];h=h+4|0}if((b|0)!=(g|0)){continue}break}}i[e+28>>2]=0;g=k-a>>2;if(g>>>0>2){while(1){qn(i[a>>2]);a=i[e+12>>2]+4|0;i[e+12>>2]=a;k=i[e+16>>2];g=k-a>>2;if(g>>>0>2){continue}break}}h=170;q:{switch(g+ -1|0){case 1:h=341;case 0:i[e+24>>2]=h;break;default:break q}}r:{if((a|0)==(k|0)){break r}while(1){qn(i[a>>2]);a=a+4|0;if((k|0)!=(a|0)){continue}break}a=i[e+16>>2];b=i[e+12>>2];if((a|0)==(b|0)){break r}i[e+16>>2]=a+(((a-b|0)+ -4>>>2^-1)<<2)}a=i[e+8>>2];if(a){qn(a)}L=e+32|0;return}Vm();x()}Vm();x()}function Vf(a,b){var c=0,d=0,e=0,f=0,h=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;q=L-16|0;L=q;a:{b:{c:{d:{if(j[i[a+4>>2]+36|0]<=1){s=-1;h=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];d=e+4|0;if(d>>>0<4){c=c+1|0}f=d;d=c;if((h|0)<(c|0)?1:(h|0)<=(c|0)?l[b+8>>2]>>0:0){break c}c=e+i[b>>2]|0;r=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[q+12>>2]=r;i[b+16>>2]=f;i[b+20>>2]=d;break d}s=-1;if(!Rf(1,q+12|0,b)){break c}r=i[q+12>>2]}e:{f:{g:{h:{i:{j:{if(!r){break j}c=i[a+8>>2];if(r>>>0>(i[c+4>>2]-i[c>>2]>>2>>>0)/3>>>0){break c}c=k[i[a+4>>2]+36>>1];if((c<<24|c<<8&16711680)>>>16>>>0>=258){u=a+36|0;h=0;k:{l:{while(1){if(!Rf(1,q+8|0,b)){break c}c=i[q+8>>2];if(!Rf(1,q+8|0,b)){break c}h=c+h|0;c=i[q+8>>2];if(h>>>0>>0){break c}p=h-c|0;m=i[a+40>>2];t=i[a+44>>2];m:{if((m|0)!=(t|0)){i[m+4>>2]=h;i[m>>2]=p;i[a+40>>2]=m+12;break m}c=i[u>>2];d=m-c|0;m=(d|0)/12|0;f=m+1|0;if(f>>>0>=357913942){break l}t=(t-c|0)/12|0;v=t<<1;f=t>>>0<178956970?v>>>0>>0?f:v:357913941;e=0;n:{if(!f){break n}if(f>>>0>=357913942){break k}e=Gm(o(f,12))}m=e+o(m,12)|0;i[m+4>>2]=h;i[m>>2]=p;p=m+o((d|0)/-12|0,12)|0;e=e+o(f,12)|0;m=m+12|0;if((d|0)>=1){sn(p,c,d)}i[a+44>>2]=e;i[a+40>>2]=m;i[a+36>>2]=p;if(!c){break m}qn(c)}n=n+1|0;if((n|0)!=(r|0)){continue}break}h=0;Eh(b,0,0);e=r>>>0>1?r:1;while(1){c=j[b+36|0];d=k[i[a+4>>2]+36>>1];o:{if((d<<24|d<<8&16711680)>>>16>>>0<=513){if(!c){break o}m=0;c=i[b+32>>2];r=c>>>3|0;f=i[b+24>>2];d=r+f|0;s=i[b+28>>2];p:{if(d>>>0>=s>>>0){d=c;break p}m=j[d|0];d=c+1|0;i[b+32>>2]=d;r=d>>>3|0;m=m>>>(c&7)&1}if(f+r>>>0>=s>>>0){break o}i[b+32>>2]=d+1;break o}if(!c){break o}m=0;c=i[b+32>>2];d=i[b+24>>2]+(c>>>3|0)|0;if(d>>>0>=l[b+28>>2]){break o}d=j[d|0];i[b+32>>2]=c+1;m=d>>>(c&7)&1}c=i[a+36>>2]+o(h,12)|0;g[c+8|0]=j[c+8|0]&254|m&1;h=h+1|0;if((e|0)!=(h|0)){continue}break}Gh(b);break j}Vm();x()}break a}z=a+36|0;u=q+10|0;while(1){e=i[b+12>>2];h=e;c=i[b+20>>2];d=c;p=i[b+16>>2];f=p+4|0;if(f>>>0<4){c=c+1|0}t=i[b+8>>2];v=f;f=c;if((e|0)<(c|0)?1:(e|0)<=(c|0)?t>>>0>>0:0){break c}w=i[b>>2];c=w+p|0;y=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=v;i[b+20>>2]=f;e=h;c=d;f=p+8|0;if(f>>>0<8){c=c+1|0}if((e|0)<(c|0)?1:(e|0)<=(c|0)?t>>>0>>0:0){break c}e=v+w|0;v=j[e|0]|j[e+1|0]<<8|(j[e+2|0]<<16|j[e+3|0]<<24);i[b+16>>2]=f;i[b+20>>2]=c;if((h|0)<(c|0)?1:(h|0)<=(c|0)?t>>>0<=f>>>0:0){break c}e=j[f+w|0];c=d;d=p+9|0;if(d>>>0<9){c=c+1|0}i[b+16>>2]=d;i[b+20>>2]=c;m=e&1|m&-2;c=i[a+40>>2];f=i[a+44>>2];q:{if((c|0)!=(f|0)){g[c+8|0]=m;i[c+4>>2]=v;i[c>>2]=y;d=j[q+8|0]|j[q+9|0]<<8;g[c+9|0]=d;g[c+10|0]=d>>>8;g[c+11|0]=j[u|0];i[a+40>>2]=c+12;break q}d=i[z>>2];h=c-d|0;e=(h|0)/12|0;c=e+1|0;if(c>>>0>=357913942){break i}w=o(e,12);f=(f-d|0)/12|0;t=f<<1;f=f>>>0<178956970?t>>>0>>0?c:t:357913941;e=0;r:{if(!f){break r}if(f>>>0>=357913942){break a}e=Gm(o(f,12))}c=w+e|0;g[c+8|0]=m;i[c+4>>2]=v;i[c>>2]=y;p=j[q+8|0]|j[q+9|0]<<8;g[c+9|0]=p;g[c+10|0]=p>>>8;g[c+11|0]=j[u|0];p=c+o((h|0)/-12|0,12)|0;e=e+o(f,12)|0;c=c+12|0;if((h|0)>=1){sn(p,d,h)}i[a+44>>2]=e;i[a+40>>2]=c;i[a+36>>2]=p;if(!d){break q}qn(d)}n=n+1|0;if((n|0)!=(r|0)){continue}break}}i[q+8>>2]=0;c=k[i[a+4>>2]+36>>1];c=(c<<24|c<<8&16711680)>>>16|0;s:{if(c>>>0<=511){s=-1;h=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];d=e+4|0;if(d>>>0<4){c=c+1|0}f=d;d=c;if((h|0)<(c|0)?1:(h|0)<=(c|0)?l[b+8>>2]>>0:0){break c}c=e+i[b>>2]|0;r=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[q+8>>2]=r;i[b+16>>2]=f;i[b+20>>2]=d;break s}if((c|0)!=512){break e}s=-1;if(!Rf(1,q+8|0,b)){break c}r=i[q+8>>2]}if(!r){break e}c=k[i[a+4>>2]+36>>1];if((c<<24|c<<8&16711680)>>>16>>>0<258){break f}s=a+48|0;m=0;h=0;while(1){if(!Rf(1,q+4|0,b)){break g}h=i[q+4>>2]+h|0;c=i[a+52>>2];n=i[a+56>>2];t:{if((c|0)!=(n|0)){i[c>>2]=h;i[a+52>>2]=c+4;break t}d=i[s>>2];f=c-d|0;p=f>>2;e=p+1|0;if(e>>>0>=1073741824){break h}n=n-d|0;u=n>>1;e=n>>2>>>0<536870911?u>>>0>>0?e:u:1073741823;c=0;u:{if(!e){break u}if(e>>>0>=1073741824){break a}c=Gm(e<<2)}n=c+(p<<2)|0;i[n>>2]=h;e=c+(e<<2)|0;n=n+4|0;if((f|0)>=1){sn(c,d,f)}i[a+56>>2]=e;i[a+52>>2]=n;i[a+48>>2]=c;if(!d){break t}qn(d)}m=m+1|0;if((r|0)!=(m|0)){continue}break}break e}Vm();x()}Vm();x()}s=-1;break c}m=a+48|0;s=0;while(1){h=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];d=e+4|0;if(d>>>0<4){c=c+1|0}f=d;d=c;if((h|0)<(c|0)?1:(h|0)<=(c|0)?l[b+8>>2]>>0:0){s=-1;break c}c=e+i[b>>2]|0;e=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=f;i[b+20>>2]=d;c=i[a+52>>2];n=i[a+56>>2];v:{if((c|0)!=(n|0)){i[c>>2]=e;i[a+52>>2]=c+4;break v}d=i[m>>2];f=c-d|0;p=f>>2;h=p+1|0;if(h>>>0>=1073741824){break b}n=n-d|0;u=n>>1;h=n>>2>>>0<536870911?u>>>0>>0?h:u:1073741823;c=0;w:{if(!h){break w}if(h>>>0>=1073741824){break a}c=Gm(h<<2)}n=c+(p<<2)|0;i[n>>2]=e;h=c+(h<<2)|0;e=n+4|0;if((f|0)>=1){sn(c,d,f)}i[a+56>>2]=h;i[a+52>>2]=e;i[a+48>>2]=c;if(!d){break v}qn(d)}s=s+1|0;if((r|0)!=(s|0)){continue}break}}s=i[b+16>>2]}L=q+16|0;return s}Vm();x()}Da(12220);x()}function ni(a,b,c,d){var e=0,f=0,h=0,o=0,r=p(0),s=0,t=0;a:{if(!d){break a}b:{c:{switch(i[a+28>>2]+ -1|0){case 0:d:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){g[b+d|0]=j[f|0];b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break d}f=f+1|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 1:e:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break e}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=g[f|0];if((e|0)<0){break a}g[b+d|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break e}f=f+1|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 2:f:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break f}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=k[f>>1];if((e+128&65535)>>>0>255){break a}g[b+d|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break f}f=f+2|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 3:g:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break g}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=k[f>>1];if(e>>>0>127){break a}g[b+d|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break g}f=f+2|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 4:h:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break h}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=i[f>>2];if(e+128>>>0>255){break a}g[b+d|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break h}f=f+4|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 5:i:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break i}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=i[f>>2];if(e>>>0>127){break a}g[b+d|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break i}f=f+4|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 6:j:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break j}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=i[f+4>>2];h=i[f>>2];o=h+128|0;if(o>>>0<128){e=e+1|0}if(!e&o>>>0>255|e>>>0>0){break a}g[b+d|0]=h;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break j}f=f+8|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 7:k:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break k}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=i[f+4>>2];h=i[f>>2];if(!e&h>>>0>127|e>>>0>0){break a}g[b+d|0]=h;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break k}f=f+8|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 8:l:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break l}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){h=b+d|0;r=m[f>>2];m:{if(p(q(r))=((e|0)>(c|0)?c:e)<<24>>24){break l}f=f+4|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 9:n:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break n}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){h=b+d|0;s=n[f>>3];o:{if(q(s)<2147483648){e=~~s;break o}e=-2147483648}g[h|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break n}f=f+8|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 10:break c;default:break a}}p:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break p}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){g[b+d|0]=j[f|0];b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break p}f=f+1|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0)}t=1}return t}function pi(a,b,c,d){var e=0,f=0,h=0,o=p(0),q=0,r=0;a:{if(!d){break a}b:{c:{switch(i[a+28>>2]+ -1|0){case 0:d:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=g[f|0];if((e|0)<0){break a}g[b+d|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break d}f=f+1|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 1:e:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break e}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){g[b+d|0]=j[f|0];b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break e}f=f+1|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 2:f:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break f}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=k[f>>1];if(e>>>0>255){break a}g[b+d|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break f}f=f+2|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 3:g:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break g}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=k[f>>1];if(e>>>0>255){break a}g[b+d|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break g}f=f+2|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 4:h:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break h}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=i[f>>2];if(e>>>0>255){break a}g[b+d|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break h}f=f+4|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 5:i:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break i}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=i[f>>2];if(e>>>0>255){break a}g[b+d|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break i}f=f+4|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 6:j:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break j}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=i[f+4>>2];h=i[f>>2];if(!e&h>>>0>255|e>>>0>0){break a}g[b+d|0]=h;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break j}f=f+8|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 7:k:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break k}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){e=i[f+4>>2];h=i[f>>2];if(!e&h>>>0>255|e>>>0>0){break a}g[b+d|0]=h;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break k}f=f+8|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 8:l:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break l}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){h=b+d|0;o=m[f>>2];m:{if(o=p(0)){e=~~o>>>0;break m}e=0}g[h|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break l}f=f+4|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 9:n:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break n}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){h=b+d|0;q=n[f>>3];o:{if(q<4294967296&q>=0){e=~~q>>>0;break o}e=0}g[h|0]=e;b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break n}f=f+8|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0);break b;case 10:break c;default:break a}}p:{e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break p}f=i[a>>2];e=i[f>>2];f=i[f+4>>2]-e|0;b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;if((f|0)<=(b|0)){break a}f=b+e|0;b=0;while(1){g[b+d|0]=j[f|0];b=b+1|0;e=g[a+24|0];if((b|0)>=((e|0)>(c|0)?c:e)<<24>>24){break p}f=f+1|0;if(l[i[a>>2]+4>>2]>f>>>0){continue}break}break a}if((e|0)>=(c|0)){break b}tn(d+e|0,0,c-e|0)}r=1}return r}function Wl(a,b,c,d,e){var f=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=L-80|0;L=f;i[f+76>>2]=b;z=f+55|0;w=f+56|0;b=0;a:{b:while(1){c:{if((t|0)<0){break c}if((b|0)>(2147483647-t|0)){i[4312]=61;t=-1;break c}t=b+t|0}d:{e:{f:{m=i[f+76>>2];b=m;k=j[b|0];if(k){while(1){g:{k=k&255;h:{if(!k){k=b;break h}if((k|0)!=37){break g}k=b;while(1){if(j[b+1|0]!=37){break h}l=b+2|0;i[f+76>>2]=l;k=k+1|0;p=j[b+2|0];b=l;if((p|0)==37){continue}break}}b=k-m|0;if(a){Xl(a,m,b)}if(b){continue b}k=f;l=!Rl(g[i[f+76>>2]+1|0]);b=i[f+76>>2];i:{if(!(l|j[b+2|0]!=36)){v=g[b+1|0]+ -48|0;x=1;b=b+3|0;break i}v=-1;b=b+1|0}i[k+76>>2]=b;q=0;u=g[b|0];l=u+ -32|0;j:{if(l>>>0>31){k=b;break j}k=b;l=1<>2]=k;q=l|q;u=g[b+1|0];l=u+ -32|0;if(l>>>0>=32){break j}b=k;l=1<>2];if(j[b+2|0]!=36){break m}i[((g[b+1|0]<<2)+e|0)+ -192>>2]=10;r=i[((g[b+1|0]<<3)+d|0)+ -384>>2];x=1;b=b+3|0;break l}if(x){break f}x=0;r=0;if(a){b=i[c>>2];i[c>>2]=b+4;r=i[b>>2]}b=i[f+76>>2]+1|0}i[l+76>>2]=b;if((r|0)>-1){break k}r=0-r|0;q=q|8192;break k}r=Yl(f+76|0);if((r|0)<0){break f}b=i[f+76>>2]}p=-1;n:{if(j[b|0]!=46){break n}if(j[b+1|0]==42){o:{if(!Rl(g[b+2|0])){break o}b=i[f+76>>2];if(j[b+3|0]!=36){break o}i[((g[b+2|0]<<2)+e|0)+ -192>>2]=10;p=i[((g[b+2|0]<<3)+d|0)+ -384>>2];b=b+4|0;i[f+76>>2]=b;break n}if(x){break f}if(a){b=i[c>>2];i[c>>2]=b+4;p=i[b>>2]}else{p=0}b=i[f+76>>2]+2|0;i[f+76>>2]=b;break n}i[f+76>>2]=b+1;p=Yl(f+76|0);b=i[f+76>>2]}k=0;while(1){y=k;s=-1;if(g[b|0]+ -65>>>0>57){break a}u=b+1|0;i[f+76>>2]=u;k=g[b|0];b=u;k=j[(k+o(y,58)|0)+14959|0];if(k+ -1>>>0<8){continue}break}p:{q:{if((k|0)!=19){if(!k){break a}if((v|0)>=0){i[(v<<2)+e>>2]=k;b=(v<<3)+d|0;k=i[b+4>>2];i[f+64>>2]=i[b>>2];i[f+68>>2]=k;break q}if(!a){break d}Zl(f- -64|0,k,c);u=i[f+76>>2];break p}if((v|0)>-1){break a}}b=0;if(!a){continue b}}l=q&-65537;k=q&8192?l:q;s=0;v=15005;q=w;r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{b=g[u+ -1|0];b=y?(b&15)==3?b&-33:b:b;switch(b+ -88|0){case 11:break r;case 9:case 13:case 14:case 15:break s;case 27:break x;case 12:case 17:break A;case 23:break B;case 0:case 32:break C;case 24:break D;case 22:break E;case 29:break F;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break e;default:break G}}H:{switch(b+ -65|0){case 0:case 4:case 5:case 6:break s;case 2:break v;case 1:case 3:break e;default:break H}}if((b|0)==83){break w}break e}b=i[f+64>>2];m=i[f+68>>2];v=15005;break z}b=0;I:{switch(y&255){case 0:i[i[f+64>>2]>>2]=t;continue b;case 1:i[i[f+64>>2]>>2]=t;continue b;case 2:k=i[f+64>>2];i[k>>2]=t;i[k+4>>2]=t>>31;continue b;case 3:h[i[f+64>>2]>>1]=t;continue b;case 4:g[i[f+64>>2]]=t;continue b;case 6:i[i[f+64>>2]>>2]=t;continue b;case 7:break I;default:continue b}}k=i[f+64>>2];i[k>>2]=t;i[k+4>>2]=t>>31;continue b}p=p>>>0>8?p:8;k=k|8;b=120}m=_l(i[f+64>>2],i[f+68>>2],w,b&32);if(!(k&8)|!(i[f+64>>2]|i[f+68>>2])){break y}v=(b>>>4|0)+15005|0;s=2;break y}m=$l(i[f+64>>2],i[f+68>>2],w);if(!(k&8)){break y}b=w-m|0;p=(p|0)>(b|0)?p:b+1|0;break y}l=i[f+68>>2];m=l;b=i[f+64>>2];if((l|0)<-1?1:(l|0)<=-1){m=0-(m+(0>>0)|0)|0;b=0-b|0;i[f+64>>2]=b;i[f+68>>2]=m;s=1;v=15005;break z}if(k&2048){s=1;v=15006;break z}s=k&1;v=s?15007:15005}m=am(b,m,w)}k=(p|0)>-1?k&-65537:k;b=i[f+64>>2];l=i[f+68>>2];if(!(!!(b|l)|p)){p=0;m=w;break e}b=!(b|l)+(w-m|0)|0;p=(p|0)>(b|0)?p:b;break e}b=i[f+64>>2];m=b?b:15015;b=Sl(m,p);q=b?b:p+m|0;k=l;p=b?b-m|0:p;break e}l=i[f+64>>2];if(p){break u}b=0;bm(a,32,r,0,k);break t}i[f+12>>2]=0;i[f+8>>2]=i[f+64>>2];i[f+64>>2]=f+8;p=-1;l=f+8|0}b=0;J:{while(1){m=i[l>>2];if(!m){break J}m=Ul(f+4|0,m);q=(m|0)<0;if(!(q|m>>>0>p-b>>>0)){l=l+4|0;b=b+m|0;if(p>>>0>b>>>0){continue}break J}break}s=-1;if(q){break a}}bm(a,32,r,b,k);if(!b){b=0;break t}u=0;l=i[f+64>>2];while(1){m=i[l>>2];if(!m){break t}m=Ul(f+4|0,m);u=m+u|0;if((u|0)>(b|0)){break t}Xl(a,f+4|0,m);l=l+4|0;if(u>>>0>>0){continue}break}}bm(a,32,r,b,k^8192);b=(r|0)>(b|0)?r:b;continue b}b=O[0](a,n[f+64>>3],r,p,k,b)|0;continue b}g[f+55|0]=i[f+64>>2];p=1;m=z;k=l;break e}l=b+1|0;i[f+76>>2]=l;k=j[b+1|0];b=l;continue}}s=t;if(a){break a}if(!x){break d}b=1;while(1){a=i[(b<<2)+e>>2];if(a){Zl((b<<3)+d|0,a,c);s=1;b=b+1|0;if((b|0)!=10){continue}break a}break}s=1;if(b>>>0>=10){break a}while(1){if(i[(b<<2)+e>>2]){break f}b=b+1|0;if((b|0)!=10){continue}break}break a}s=-1;break a}q=q-m|0;p=(p|0)<(q|0)?q:p;l=p+s|0;b=(r|0)<(l|0)?l:r;bm(a,32,b,l,k);Xl(a,v,s);bm(a,48,b,l,k^65536);bm(a,48,p,q,0);Xl(a,m,q);bm(a,32,b,l,k^8192);continue}break}s=0}L=f+80|0;return s}function hm(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=L-16|0;L=e;i[e+12>>2]=a;a:{if(a>>>0<=211){a=i[im(15520,15712,e+12|0)>>2];break a}if(a>>>0>=4294967292){km();x()}f=(a>>>0)/210|0;d=o(f,210);i[e+8>>2]=a-d;g=im(15712,15904,e+8|0)-15712>>2;b:{while(1){a=i[(g<<2)+15712>>2]+d|0;d=5;b=h;c:{d:{while(1){h=b;if((d|0)==47){d=211;while(1){b=(a>>>0)/(d>>>0)|0;if(b>>>0>>0){break c}if((o(b,d)|0)==(a|0)){break d}b=d+10|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+12|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+16|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+18|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+22|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+28|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+30|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+36|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+40|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+42|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+46|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+52|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+58|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+60|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+66|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+70|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+72|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+78|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+82|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+88|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+96|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+100|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+102|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+106|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+108|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+112|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+120|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+126|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+130|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+136|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+138|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+142|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+148|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+150|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+156|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+162|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+166|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+168|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+172|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+178|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+180|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+186|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+190|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+192|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+196|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+198|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}if((o(b,c)|0)==(a|0)){break d}b=d+208|0;c=(a>>>0)/(b>>>0)|0;if(c>>>0>>0){break c}d=d+210|0;if((o(b,c)|0)!=(a|0)){continue}break}break d}b=i[(d<<2)+15520>>2];c=(a>>>0)/(b>>>0)|0;j=o(b,c);c=c>>>0>>0;if(!c){b=c?a:h;d=d+1|0;if((a|0)!=(j|0)){continue}}break}if((a|0)!=(j|0)|c){break b}}b=g+1|0;a=(b|0)==48;g=a?0:b;f=a+f|0;d=o(f,210);continue}break}i[e+12>>2]=a;break a}i[e+12>>2]=a;a=c?a:h}L=e+16|0;return a}function Ll(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;f=L-32|0;L=f;e=i[a+12>>2];i[f+16>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;a:{if(e){if(e>>>0>=1073741824){break a}d=e<<2;g=Gm(d);i[f+8>>2]=g;j=d+g|0;i[f+16>>2]=j;tn(g,0,d);i[f+12>>2]=j}d=i[a+628>>2];h=i[d>>2];if(h){i[d+4>>2]=h;qn(h);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;j=i[f+12>>2];g=i[f+8>>2];e=i[a+12>>2]}i[d+4>>2]=j;i[d>>2]=g;i[d+8>>2]=i[f+16>>2];g=0;i[f+16>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;h=0;b:{if(e){if(e>>>0>=1073741824){break b}d=e<<2;h=Gm(d);i[f+8>>2]=h;g=d+h|0;i[f+16>>2]=g;tn(h,0,d);i[f+12>>2]=g}d=i[a+640>>2];e=i[d>>2];if(e){i[d+4>>2]=e;qn(e);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;h=i[f+8>>2];g=i[f+12>>2]}i[d+4>>2]=g;i[d>>2]=h;i[d+8>>2]=i[f+16>>2];e=f+24|0;i[e>>2]=0;i[e+4>>2]=0;j=f+16|0;i[j>>2]=0;i[j+4>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;Pb(f+8|0);g=i[j>>2];j=i[f+12>>2];d=0;c:{if((g|0)==(j|0)){break c}d=i[e>>2]+i[f+28>>2]|0;e=(d>>>0)/341|0;d=i[j+(e<<2)>>2]+o(d-o(e,341)|0,12)|0}i[d+4>>2]=0;i[d+8>>2]=0;i[d>>2]=b;d=i[f+28>>2];e=d+1|0;i[f+28>>2]=e;d:{if(e>>>0>>0){break d}w=a+604|0;while(1){h=i[f+12>>2];g=e+ -1|0;d=g+i[f+24>>2]|0;e=(d>>>0)/341|0;e=i[h+(e<<2)>>2]+o(d-o(e,341)|0,12)|0;p=i[e+8>>2];k=i[e+4>>2];j=i[e>>2];i[f+28>>2]=g;e=i[f+16>>2];g=e-h|0;if((g?o(g>>2,341)+ -1|0:0)-d>>>0>=682){qn(i[e+ -4>>2]);i[f+16>>2]=i[f+16>>2]+ -4}if(j>>>0>b>>>0){break d}d=i[a+628>>2];m=o(p,12);q=m+i[a+640>>2]|0;h=xl(a,q,k);if(h>>>0>=l[a+12>>2]){break d}k=d+m|0;e:{f:{s=h<<2;d=i[a>>2]-i[s+i[q>>2]>>2]|0;if(!d){e=0;if(!j){break f}while(1){Ol(c,k);i[a+8>>2]=i[a+8>>2]+1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break f}g:{h:{i:{j:{if(j>>>0<=2){d=i[a+616>>2];i[d>>2]=h;g=1;e=i[a+12>>2];if(e>>>0>1){break j}break g}if(l[a+8>>2]>l[a+4>>2]){break d}e=1<>2];n=p+1|0;q=o(n,12);g=d+q|0;if((g|0)!=(k|0)){wa(g,i[k>>2],i[k+4>>2]);d=i[a+628>>2]}d=s+i[d+q>>2]|0;i[d>>2]=e+i[d>>2];g=0;e=0;d=r(j)^31;if(d){while(1){g=Ee(((e<<4)+a|0)+16|0)|g<<1;e=e+1|0;if((d|0)!=(e|0)){continue}break}}d=(j>>>1|0)-g|0;e=j-d|0;k:{if((e|0)==(d|0)){e=d;break k}j=i[a+596>>2];if((j|0)==i[a+588>>2]){break i}g=i[j>>2];k=i[a+600>>2];u=k+1|0;i[a+600>>2]=u;g=g&-2147483648>>>k;l:{if((u|0)==32){i[a+600>>2]=0;i[a+596>>2]=j+4;if(g){break l}break i}if(!g){break i}}}j=e;e=d;break h}while(1){h=(e+ -1|0)==(h|0)?0:h+1|0;i[d+(g<<2)>>2]=h;g=g+1|0;e=i[a+12>>2];if(g>>>0>>0){continue}break}break g}j=d}d=i[a+640>>2];g=d+m|0;k=i[g>>2];m=k+s|0;i[m>>2]=i[m>>2]+1;wa(d+q|0,k,i[g+4>>2]);if(e){k=i[f+28>>2]+i[f+24>>2]|0;m=i[f+16>>2];g=i[f+12>>2];d=m-g|0;if((k|0)==((d?o(d>>2,341)+ -1|0:0)|0)){Pb(f+8|0);k=i[f+24>>2]+i[f+28>>2]|0;m=i[f+16>>2];g=i[f+12>>2]}d=0;m:{if((g|0)==(m|0)){break m}d=(k>>>0)/341|0;d=i[(d<<2)+g>>2]+o(k-o(d,341)|0,12)|0}i[d+8>>2]=p;i[d+4>>2]=h;i[d>>2]=e;i[f+28>>2]=i[f+28>>2]+1}if(!j){break f}g=i[f+28>>2]+i[f+24>>2]|0;d=i[f+16>>2];e=i[f+12>>2];k=d-e|0;if((g|0)==((k?o(k>>2,341)+ -1|0:0)|0)){Pb(f+8|0);e=i[f+12>>2];g=i[f+24>>2]+i[f+28>>2]|0;d=i[f+16>>2]}if((d|0)==(e|0)){d=0}else{d=(g>>>0)/341|0;d=i[(d<<2)+e>>2]+o(g-o(d,341)|0,12)|0}i[d+8>>2]=n;i[d+4>>2]=h;i[d>>2]=j;e=i[f+28>>2]+1|0;i[f+28>>2]=e;break e}if(!j){break f}p=0;while(1){if(e){u=i[k>>2];y=i[q>>2];h=i[a+604>>2];z=i[a+616>>2];e=0;while(1){m=z+(e<<2)|0;i[h+(i[m>>2]<<2)>>2]=0;g=i[m>>2]<<2;d=i[a>>2]-i[g+y>>2]|0;n:{if(!d){break n}g=g+h|0;s=i[a+560>>2];t=32-s|0;if((d|0)<=(t|0)){n=i[a+556>>2];if((n|0)==i[a+548>>2]){i[g>>2]=0;break n}i[g>>2]=i[n>>2]<>>32-d;d=d+i[a+560>>2]|0;i[a+560>>2]=d;if((d|0)!=32){break n}i[a+560>>2]=0;i[a+556>>2]=n+4;break n}n=i[a+556>>2];v=n+4|0;if((v|0)==i[a+548>>2]){i[g>>2]=0;break n}A=i[n>>2];i[a+556>>2]=v;t=d-t|0;i[a+560>>2]=t;i[g>>2]=i[n+4>>2]>>>32-t|A<>>32-d}d=i[m>>2]<<2;g=d+h|0;i[g>>2]=i[g>>2]|i[d+u>>2];e=e+1|0;if(e>>>0>2]){continue}break}}Ol(c,w);i[a+8>>2]=i[a+8>>2]+1;p=p+1|0;if((p|0)==(j|0)){break f}e=i[a+12>>2];continue}}e=i[f+28>>2]}if(e){continue}break}}b=i[f+24>>2];c=(b>>>0)/341|0;a=i[f+12>>2];h=i[f+16>>2];o:{if((a|0)==(h|0)){break o}g=(c<<2)+a|0;e=i[g>>2]+o(b-o(c,341)|0,12)|0;b=b+i[f+28>>2]|0;c=(b>>>0)/341|0;b=i[(c<<2)+a>>2]+o(b-o(c,341)|0,12)|0;if((e|0)==(b|0)){break o}while(1){e=e+12|0;if((e-i[g>>2]|0)==4092){e=i[g+4>>2];g=g+4|0}if((b|0)!=(e|0)){continue}break}}i[f+28>>2]=0;e=h-a>>2;if(e>>>0>2){while(1){qn(i[a>>2]);a=i[f+12>>2]+4|0;i[f+12>>2]=a;h=i[f+16>>2];e=h-a>>2;if(e>>>0>2){continue}break}}g=170;p:{switch(e+ -1|0){case 1:g=341;case 0:i[f+24>>2]=g;break;default:break p}}q:{if((a|0)==(h|0)){break q}while(1){qn(i[a>>2]);a=a+4|0;if((h|0)!=(a|0)){continue}break}a=i[f+16>>2];b=i[f+12>>2];if((a|0)==(b|0)){break q}i[f+16>>2]=a+(((a-b|0)+ -4>>>2^-1)<<2)}a=i[f+8>>2];if(a){qn(a)}L=f+32|0;return}Vm();x()}Vm();x()}function Ml(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;f=L-32|0;L=f;d=i[a+12>>2];i[f+16>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;a:{if(d){if(d>>>0>=1073741824){break a}e=d<<2;g=Gm(e);i[f+8>>2]=g;h=e+g|0;i[f+16>>2]=h;tn(g,0,e);i[f+12>>2]=h}e=i[a+628>>2];j=i[e>>2];if(j){i[e+4>>2]=j;qn(j);i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;h=i[f+12>>2];g=i[f+8>>2];d=i[a+12>>2]}i[e+4>>2]=h;i[e>>2]=g;i[e+8>>2]=i[f+16>>2];g=0;i[f+16>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;j=0;b:{if(d){if(d>>>0>=1073741824){break b}e=d<<2;j=Gm(e);i[f+8>>2]=j;g=e+j|0;i[f+16>>2]=g;tn(j,0,e);i[f+12>>2]=g}e=i[a+640>>2];d=i[e>>2];if(d){i[e+4>>2]=d;qn(d);i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;j=i[f+8>>2];g=i[f+12>>2]}i[e+4>>2]=g;i[e>>2]=j;i[e+8>>2]=i[f+16>>2];d=f+24|0;i[d>>2]=0;i[d+4>>2]=0;h=f+16|0;i[h>>2]=0;i[h+4>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;Pb(f+8|0);g=i[h>>2];h=i[f+12>>2];e=0;c:{if((g|0)==(h|0)){break c}e=i[d>>2]+i[f+28>>2]|0;d=(e>>>0)/341|0;e=i[h+(d<<2)>>2]+o(e-o(d,341)|0,12)|0}i[e+4>>2]=0;i[e+8>>2]=0;i[e>>2]=b;e=i[f+28>>2];d=e+1|0;i[f+28>>2]=d;d:{if(d>>>0>>0){break d}v=a+604|0;while(1){j=i[f+12>>2];g=d+ -1|0;d=g+i[f+24>>2]|0;e=(d>>>0)/341|0;e=i[j+(e<<2)>>2]+o(d-o(e,341)|0,12)|0;p=i[e+8>>2];h=i[e+4>>2];e=i[e>>2];i[f+28>>2]=g;g=i[f+16>>2];j=g-j|0;if((j?o(j>>2,341)+ -1|0:0)-d>>>0>=682){qn(i[g+ -4>>2]);i[f+16>>2]=i[f+16>>2]+ -4}if(e>>>0>b>>>0){break d}d=i[a+12>>2];j=(h|0)==(d+ -1|0)?0:h+1|0;if(j>>>0>=d>>>0){break d}d=i[a+628>>2];m=o(p,12);k=d+m|0;e:{f:{q=j<<2;s=m+i[a+640>>2]|0;h=i[a>>2]-i[q+i[s>>2]>>2]|0;if(!h){d=0;if(!e){break f}while(1){Ol(c,k);i[a+8>>2]=i[a+8>>2]+1;d=d+1|0;if((e|0)!=(d|0)){continue}break}break f}g:{h:{i:{j:{if(e>>>0<=2){h=i[a+616>>2];i[h>>2]=j;g=1;d=i[a+12>>2];if(d>>>0>1){break j}break g}if(l[a+8>>2]>l[a+4>>2]){break d}g=d;d=m+12|0;wa(g+d|0,i[k>>2],i[k+4>>2]);d=q+i[d+i[a+628>>2]>>2]|0;i[d>>2]=i[d>>2]+(1<>>1|0)-g|0;d=d-e|0;k:{if((d|0)==(e|0)){d=e;break k}h=i[a+596>>2];if((h|0)==i[a+588>>2]){break i}g=i[h>>2];k=i[a+600>>2];s=k+1|0;i[a+600>>2]=s;g=g&-2147483648>>>k;l:{if((s|0)==32){i[a+600>>2]=0;i[a+596>>2]=h+4;if(g){break l}break i}if(!g){break i}}}h=d;d=e;break h}while(1){j=(d+ -1|0)==(j|0)?0:j+1|0;i[h+(g<<2)>>2]=j;g=g+1|0;d=i[a+12>>2];if(g>>>0>>0){continue}break}break g}h=e}e=i[a+640>>2];g=e+m|0;k=i[g>>2];m=k+q|0;i[m>>2]=i[m>>2]+1;wa(e+o(n,12)|0,k,i[g+4>>2]);if(d){k=i[f+28>>2]+i[f+24>>2]|0;m=i[f+16>>2];g=i[f+12>>2];e=m-g|0;if((k|0)==((e?o(e>>2,341)+ -1|0:0)|0)){Pb(f+8|0);k=i[f+24>>2]+i[f+28>>2]|0;m=i[f+16>>2];g=i[f+12>>2]}e=0;m:{if((g|0)==(m|0)){break m}e=(k>>>0)/341|0;e=i[(e<<2)+g>>2]+o(k-o(e,341)|0,12)|0}i[e+8>>2]=p;i[e+4>>2]=j;i[e>>2]=d;i[f+28>>2]=i[f+28>>2]+1}if(!h){break f}g=i[f+28>>2]+i[f+24>>2]|0;k=i[f+16>>2];d=i[f+12>>2];e=k-d|0;if((g|0)==((e?o(e>>2,341)+ -1|0:0)|0)){Pb(f+8|0);k=i[f+16>>2];g=i[f+24>>2]+i[f+28>>2]|0;d=i[f+12>>2]}if((d|0)==(k|0)){e=0}else{e=(g>>>0)/341|0;e=i[(e<<2)+d>>2]+o(g-o(e,341)|0,12)|0}i[e+8>>2]=n;i[e+4>>2]=j;i[e>>2]=h;d=i[f+28>>2]+1|0;i[f+28>>2]=d;break e}if(!e){break f}p=0;while(1){if(d){w=i[k>>2];y=i[s>>2];j=i[a+604>>2];z=i[a+616>>2];d=0;while(1){m=z+(d<<2)|0;i[j+(i[m>>2]<<2)>>2]=0;g=i[m>>2]<<2;h=i[a>>2]-i[g+y>>2]|0;n:{if(!h){break n}g=g+j|0;q=i[a+560>>2];t=32-q|0;if((h|0)<=(t|0)){n=i[a+556>>2];if((n|0)==i[a+548>>2]){i[g>>2]=0;break n}i[g>>2]=i[n>>2]<>>32-h;h=h+i[a+560>>2]|0;i[a+560>>2]=h;if((h|0)!=32){break n}i[a+560>>2]=0;i[a+556>>2]=n+4;break n}n=i[a+556>>2];u=n+4|0;if((u|0)==i[a+548>>2]){i[g>>2]=0;break n}A=i[n>>2];i[a+556>>2]=u;t=h-t|0;i[a+560>>2]=t;i[g>>2]=i[n+4>>2]>>>32-t|A<>>32-h}h=i[m>>2]<<2;g=h+j|0;i[g>>2]=i[g>>2]|i[h+w>>2];d=d+1|0;if(d>>>0>2]){continue}break}}Ol(c,v);i[a+8>>2]=i[a+8>>2]+1;p=p+1|0;if((p|0)==(e|0)){break f}d=i[a+12>>2];continue}}d=i[f+28>>2]}if(d){continue}break}}b=i[f+24>>2];c=(b>>>0)/341|0;a=i[f+12>>2];j=i[f+16>>2];o:{if((a|0)==(j|0)){break o}g=(c<<2)+a|0;d=i[g>>2]+o(b-o(c,341)|0,12)|0;b=b+i[f+28>>2]|0;c=(b>>>0)/341|0;b=i[(c<<2)+a>>2]+o(b-o(c,341)|0,12)|0;if((d|0)==(b|0)){break o}while(1){d=d+12|0;if((d-i[g>>2]|0)==4092){d=i[g+4>>2];g=g+4|0}if((b|0)!=(d|0)){continue}break}}i[f+28>>2]=0;d=j-a>>2;if(d>>>0>2){while(1){qn(i[a>>2]);a=i[f+12>>2]+4|0;i[f+12>>2]=a;j=i[f+16>>2];d=j-a>>2;if(d>>>0>2){continue}break}}g=170;p:{switch(d+ -1|0){case 1:g=341;case 0:i[f+24>>2]=g;break;default:break p}}q:{if((a|0)==(j|0)){break q}while(1){qn(i[a>>2]);a=a+4|0;if((j|0)!=(a|0)){continue}break}a=i[f+16>>2];b=i[f+12>>2];if((a|0)==(b|0)){break q}i[f+16>>2]=a+(((a-b|0)+ -4>>>2^-1)<<2)}a=i[f+8>>2];if(a){qn(a)}L=f+32|0;return}Vm();x()}Vm();x()}function Nl(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;f=L-32|0;L=f;e=i[a+12>>2];i[f+16>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;a:{if(e){if(e>>>0>=1073741824){break a}d=e<<2;g=Gm(d);i[f+8>>2]=g;j=d+g|0;i[f+16>>2]=j;tn(g,0,d);i[f+12>>2]=j}d=i[a+628>>2];h=i[d>>2];if(h){i[d+4>>2]=h;qn(h);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;j=i[f+12>>2];g=i[f+8>>2];e=i[a+12>>2]}i[d+4>>2]=j;i[d>>2]=g;i[d+8>>2]=i[f+16>>2];g=0;i[f+16>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;h=0;b:{if(e){if(e>>>0>=1073741824){break b}d=e<<2;h=Gm(d);i[f+8>>2]=h;g=d+h|0;i[f+16>>2]=g;tn(h,0,d);i[f+12>>2]=g}d=i[a+640>>2];e=i[d>>2];if(e){i[d+4>>2]=e;qn(e);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;h=i[f+8>>2];g=i[f+12>>2]}i[d+4>>2]=g;i[d>>2]=h;i[d+8>>2]=i[f+16>>2];e=f+24|0;i[e>>2]=0;i[e+4>>2]=0;j=f+16|0;i[j>>2]=0;i[j+4>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;Pb(f+8|0);g=i[j>>2];j=i[f+12>>2];d=0;c:{if((g|0)==(j|0)){break c}d=i[e>>2]+i[f+28>>2]|0;e=(d>>>0)/341|0;d=i[j+(e<<2)>>2]+o(d-o(e,341)|0,12)|0}i[d+4>>2]=0;i[d+8>>2]=0;i[d>>2]=b;d=i[f+28>>2];e=d+1|0;i[f+28>>2]=e;d:{if(e>>>0>>0){break d}w=a+604|0;while(1){h=i[f+12>>2];g=e+ -1|0;d=g+i[f+24>>2]|0;e=(d>>>0)/341|0;e=i[h+(e<<2)>>2]+o(d-o(e,341)|0,12)|0;p=i[e+8>>2];j=i[e>>2];i[f+28>>2]=g;e=i[f+16>>2];g=e-h|0;if((g?o(g>>2,341)+ -1|0:0)-d>>>0>=682){qn(i[e+ -4>>2]);i[f+16>>2]=i[f+16>>2]+ -4}if(j>>>0>b>>>0){break d}d=i[a+628>>2];m=o(p,12);q=m+i[a+640>>2]|0;h=yl(a,j,q);if(h>>>0>=l[a+12>>2]){break d}k=d+m|0;e:{f:{s=h<<2;d=i[a>>2]-i[s+i[q>>2]>>2]|0;if(!d){e=0;if(!j){break f}while(1){Ol(c,k);i[a+8>>2]=i[a+8>>2]+1;e=e+1|0;if((j|0)!=(e|0)){continue}break}break f}g:{h:{i:{j:{if(j>>>0<=2){d=i[a+616>>2];i[d>>2]=h;g=1;e=i[a+12>>2];if(e>>>0>1){break j}break g}if(l[a+8>>2]>l[a+4>>2]){break d}e=1<>2];n=p+1|0;q=o(n,12);g=d+q|0;if((g|0)!=(k|0)){wa(g,i[k>>2],i[k+4>>2]);d=i[a+628>>2]}d=s+i[d+q>>2]|0;i[d>>2]=e+i[d>>2];g=0;e=0;d=r(j)^31;if(d){while(1){g=Ee(((e<<4)+a|0)+16|0)|g<<1;e=e+1|0;if((d|0)!=(e|0)){continue}break}}d=(j>>>1|0)-g|0;e=j-d|0;k:{if((e|0)==(d|0)){e=d;break k}j=i[a+596>>2];if((j|0)==i[a+588>>2]){break i}g=i[j>>2];k=i[a+600>>2];u=k+1|0;i[a+600>>2]=u;g=g&-2147483648>>>k;l:{if((u|0)==32){i[a+600>>2]=0;i[a+596>>2]=j+4;if(g){break l}break i}if(!g){break i}}}j=e;e=d;break h}while(1){h=(e+ -1|0)==(h|0)?0:h+1|0;i[d+(g<<2)>>2]=h;g=g+1|0;e=i[a+12>>2];if(g>>>0>>0){continue}break}break g}j=d}d=i[a+640>>2];g=d+m|0;k=i[g>>2];m=k+s|0;i[m>>2]=i[m>>2]+1;wa(d+q|0,k,i[g+4>>2]);if(e){k=i[f+28>>2]+i[f+24>>2]|0;m=i[f+16>>2];g=i[f+12>>2];d=m-g|0;if((k|0)==((d?o(d>>2,341)+ -1|0:0)|0)){Pb(f+8|0);k=i[f+24>>2]+i[f+28>>2]|0;m=i[f+16>>2];g=i[f+12>>2]}d=0;m:{if((g|0)==(m|0)){break m}d=(k>>>0)/341|0;d=i[(d<<2)+g>>2]+o(k-o(d,341)|0,12)|0}i[d+8>>2]=p;i[d+4>>2]=h;i[d>>2]=e;i[f+28>>2]=i[f+28>>2]+1}if(!j){break f}g=i[f+28>>2]+i[f+24>>2]|0;d=i[f+16>>2];e=i[f+12>>2];k=d-e|0;if((g|0)==((k?o(k>>2,341)+ -1|0:0)|0)){Pb(f+8|0);e=i[f+12>>2];g=i[f+24>>2]+i[f+28>>2]|0;d=i[f+16>>2]}if((d|0)==(e|0)){d=0}else{d=(g>>>0)/341|0;d=i[(d<<2)+e>>2]+o(g-o(d,341)|0,12)|0}i[d+8>>2]=n;i[d+4>>2]=h;i[d>>2]=j;e=i[f+28>>2]+1|0;i[f+28>>2]=e;break e}if(!j){break f}p=0;while(1){if(e){u=i[k>>2];y=i[q>>2];h=i[a+604>>2];z=i[a+616>>2];e=0;while(1){m=z+(e<<2)|0;i[h+(i[m>>2]<<2)>>2]=0;g=i[m>>2]<<2;d=i[a>>2]-i[g+y>>2]|0;n:{if(!d){break n}g=g+h|0;s=i[a+560>>2];t=32-s|0;if((d|0)<=(t|0)){n=i[a+556>>2];if((n|0)==i[a+548>>2]){i[g>>2]=0;break n}i[g>>2]=i[n>>2]<>>32-d;d=d+i[a+560>>2]|0;i[a+560>>2]=d;if((d|0)!=32){break n}i[a+560>>2]=0;i[a+556>>2]=n+4;break n}n=i[a+556>>2];v=n+4|0;if((v|0)==i[a+548>>2]){i[g>>2]=0;break n}A=i[n>>2];i[a+556>>2]=v;t=d-t|0;i[a+560>>2]=t;i[g>>2]=i[n+4>>2]>>>32-t|A<>>32-d}d=i[m>>2]<<2;g=d+h|0;i[g>>2]=i[g>>2]|i[d+u>>2];e=e+1|0;if(e>>>0>2]){continue}break}}Ol(c,w);i[a+8>>2]=i[a+8>>2]+1;p=p+1|0;if((p|0)==(j|0)){break f}e=i[a+12>>2];continue}}e=i[f+28>>2]}if(e){continue}break}}b=i[f+24>>2];c=(b>>>0)/341|0;a=i[f+12>>2];h=i[f+16>>2];o:{if((a|0)==(h|0)){break o}g=(c<<2)+a|0;e=i[g>>2]+o(b-o(c,341)|0,12)|0;b=b+i[f+28>>2]|0;c=(b>>>0)/341|0;b=i[(c<<2)+a>>2]+o(b-o(c,341)|0,12)|0;if((e|0)==(b|0)){break o}while(1){e=e+12|0;if((e-i[g>>2]|0)==4092){e=i[g+4>>2];g=g+4|0}if((b|0)!=(e|0)){continue}break}}i[f+28>>2]=0;e=h-a>>2;if(e>>>0>2){while(1){qn(i[a>>2]);a=i[f+12>>2]+4|0;i[f+12>>2]=a;h=i[f+16>>2];e=h-a>>2;if(e>>>0>2){continue}break}}g=170;p:{switch(e+ -1|0){case 1:g=341;case 0:i[f+24>>2]=g;break;default:break p}}q:{if((a|0)==(h|0)){break q}while(1){qn(i[a>>2]);a=a+4|0;if((h|0)!=(a|0)){continue}break}a=i[f+16>>2];b=i[f+12>>2];if((a|0)==(b|0)){break q}i[f+16>>2]=a+(((a-b|0)+ -4>>>2^-1)<<2)}a=i[f+8>>2];if(a){qn(a)}L=f+32|0;return}Vm();x()}Vm();x()}function Jl(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;e=L-32|0;L=e;g=i[a+12>>2];i[e+16>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;a:{if(g){if(g>>>0>=1073741824){break a}d=g<<2;f=Gm(d);i[e+8>>2]=f;j=d+f|0;i[e+16>>2]=j;tn(f,0,d);i[e+12>>2]=j}d=i[a+116>>2];h=i[d>>2];if(h){i[d+4>>2]=h;qn(h);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;j=i[e+12>>2];g=i[a+12>>2];f=i[e+8>>2]}i[d+4>>2]=j;i[d>>2]=f;i[d+8>>2]=i[e+16>>2];f=0;i[e+16>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;b:{if(g){if(g>>>0>=1073741824){break b}d=g<<2;k=Gm(d);i[e+8>>2]=k;f=d+k|0;i[e+16>>2]=f;tn(k,0,d);i[e+12>>2]=f}d=i[a+128>>2];h=i[d>>2];if(h){i[d+4>>2]=h;qn(h);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;k=i[e+8>>2];f=i[e+12>>2]}i[d+4>>2]=f;i[d>>2]=k;i[d+8>>2]=i[e+16>>2];f=e+24|0;i[f>>2]=0;i[f+4>>2]=0;h=e+16|0;i[h>>2]=0;i[h+4>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;Pb(e+8|0);g=i[h>>2];h=i[e+12>>2];d=0;c:{if((g|0)==(h|0)){break c}d=i[f>>2]+i[e+28>>2]|0;f=(d>>>0)/341|0;d=i[h+(f<<2)>>2]+o(d-o(f,341)|0,12)|0}i[d+4>>2]=0;i[d+8>>2]=0;i[d>>2]=b;d=i[e+28>>2];g=d+1|0;i[e+28>>2]=g;d:{if(g>>>0>>0){break d}w=a+92|0;y=a+16|0;while(1){k=i[e+12>>2];g=g+ -1|0;d=g+i[e+24>>2]|0;f=(d>>>0)/341|0;f=i[k+(f<<2)>>2]+o(d-o(f,341)|0,12)|0;q=i[f+8>>2];j=i[f+4>>2];h=i[f>>2];i[e+28>>2]=g;f=i[e+16>>2];g=f-k|0;if((g?o(g>>2,341)+ -1|0:0)-d>>>0>=682){qn(i[f+ -4>>2]);i[e+16>>2]=i[e+16>>2]+ -4}if(h>>>0>b>>>0){break d}d=i[a+116>>2];g=o(q,12);n=g+i[a+128>>2]|0;k=xl(a,n,j);if(k>>>0>=l[a+12>>2]){break d}j=d+g|0;e:{p=k<<2;d=i[a>>2]-i[p+i[n>>2]>>2]|0;if(!d){g=0;if(!h){break e}while(1){Ol(c,j);i[a+8>>2]=i[a+8>>2]+1;g=g+1|0;if((h|0)!=(g|0)){continue}break}break e}f:{g:{h:{i:{if(h>>>0<=2){d=i[a+104>>2];i[d>>2]=k;f=1;g=i[a+12>>2];if(g>>>0>1){break i}break f}if(l[a+8>>2]>l[a+4>>2]){break d}f=1<>2];s=q+1|0;n=o(s,12);m=d+n|0;if((m|0)!=(j|0)){wa(m,i[j>>2],i[j+4>>2]);d=i[a+116>>2]}d=p+i[d+n>>2]|0;i[d>>2]=f+i[d>>2];i[e+4>>2]=0;Fe(y,r(h)^31,e+4|0);d=(h>>>1|0)-i[e+4>>2]|0;f=h-d|0;j:{if((f|0)==(d|0)){f=d;break j}h=i[a+84>>2];if((h|0)==i[a+76>>2]){break h}j=i[h>>2];m=i[a+88>>2];u=m+1|0;i[a+88>>2]=u;j=j&-2147483648>>>m;k:{if((u|0)==32){i[a+88>>2]=0;i[a+84>>2]=h+4;if(j){break k}break h}if(!j){break h}}}h=f;f=d;break g}while(1){k=(g+ -1|0)==(k|0)?0:k+1|0;i[d+(f<<2)>>2]=k;f=f+1|0;g=i[a+12>>2];if(f>>>0>>0){continue}break}break f}h=d}d=i[a+128>>2];g=d+g|0;j=i[g>>2];p=j+p|0;i[p>>2]=i[p>>2]+1;wa(d+n|0,j,i[g+4>>2]);if(f){j=i[e+28>>2]+i[e+24>>2]|0;d=i[e+16>>2];g=i[e+12>>2];n=d-g|0;if((j|0)==((n?o(n>>2,341)+ -1|0:0)|0)){Pb(e+8|0);j=i[e+24>>2]+i[e+28>>2]|0;g=i[e+12>>2];d=i[e+16>>2]}if((d|0)==(g|0)){d=0}else{d=(j>>>0)/341|0;d=i[(d<<2)+g>>2]+o(j-o(d,341)|0,12)|0}i[d+8>>2]=q;i[d+4>>2]=k;i[d>>2]=f;i[e+28>>2]=i[e+28>>2]+1}if(!h){break e}f=i[e+28>>2]+i[e+24>>2]|0;j=i[e+16>>2];g=i[e+12>>2];d=j-g|0;if((f|0)==((d?o(d>>2,341)+ -1|0:0)|0)){Pb(e+8|0);j=i[e+16>>2];g=i[e+12>>2];f=i[e+24>>2]+i[e+28>>2]|0}d=0;l:{if((g|0)==(j|0)){break l}d=(f>>>0)/341|0;d=i[(d<<2)+g>>2]+o(f-o(d,341)|0,12)|0}i[d+8>>2]=s;i[d+4>>2]=k;i[d>>2]=h;i[e+28>>2]=i[e+28>>2]+1;break e}if(!h){break e}q=0;while(1){if(g){u=i[j>>2];z=i[n>>2];k=i[a+92>>2];A=i[a+104>>2];g=0;while(1){p=A+(g<<2)|0;i[k+(i[p>>2]<<2)>>2]=0;f=i[p>>2]<<2;d=i[a>>2]-i[f+z>>2]|0;m:{if(!d){break m}f=f+k|0;s=i[a+48>>2];t=32-s|0;if((d|0)<=(t|0)){m=i[a+44>>2];if((m|0)==i[a+36>>2]){i[f>>2]=0;break m}i[f>>2]=i[m>>2]<>>32-d;d=d+i[a+48>>2]|0;i[a+48>>2]=d;if((d|0)!=32){break m}i[a+48>>2]=0;i[a+44>>2]=m+4;break m}m=i[a+44>>2];v=m+4|0;if((v|0)==i[a+36>>2]){i[f>>2]=0;break m}B=i[m>>2];i[a+44>>2]=v;t=d-t|0;i[a+48>>2]=t;i[f>>2]=i[m+4>>2]>>>32-t|B<>>32-d}d=i[p>>2]<<2;f=d+k|0;i[f>>2]=i[f>>2]|i[d+u>>2];g=g+1|0;if(g>>>0>2]){continue}break}}Ol(c,w);i[a+8>>2]=i[a+8>>2]+1;q=q+1|0;if((q|0)==(h|0)){break e}g=i[a+12>>2];continue}}g=i[e+28>>2];if(g){continue}break}}b=i[e+24>>2];c=(b>>>0)/341|0;a=i[e+12>>2];k=i[e+16>>2];n:{if((a|0)==(k|0)){break n}f=(c<<2)+a|0;g=i[f>>2]+o(b-o(c,341)|0,12)|0;b=b+i[e+28>>2]|0;c=(b>>>0)/341|0;b=i[(c<<2)+a>>2]+o(b-o(c,341)|0,12)|0;if((g|0)==(b|0)){break n}while(1){g=g+12|0;if((g-i[f>>2]|0)==4092){g=i[f+4>>2];f=f+4|0}if((b|0)!=(g|0)){continue}break}}i[e+28>>2]=0;g=k-a>>2;if(g>>>0>2){while(1){qn(i[a>>2]);a=i[e+12>>2]+4|0;i[e+12>>2]=a;k=i[e+16>>2];g=k-a>>2;if(g>>>0>2){continue}break}}f=170;o:{switch(g+ -1|0){case 1:f=341;case 0:i[e+24>>2]=f;break;default:break o}}p:{if((a|0)==(k|0)){break p}while(1){qn(i[a>>2]);a=a+4|0;if((k|0)!=(a|0)){continue}break}a=i[e+16>>2];b=i[e+12>>2];if((a|0)==(b|0)){break p}i[e+16>>2]=a+(((a-b|0)+ -4>>>2^-1)<<2)}a=i[e+8>>2];if(a){qn(a)}L=e+32|0;return}Vm();x()}Vm();x()}function Kl(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;e=L-32|0;L=e;f=i[a+12>>2];i[e+16>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;a:{if(f){if(f>>>0>=1073741824){break a}d=f<<2;g=Gm(d);i[e+8>>2]=g;h=d+g|0;i[e+16>>2]=h;tn(g,0,d);i[e+12>>2]=h}d=i[a+116>>2];j=i[d>>2];if(j){i[d+4>>2]=j;qn(j);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;g=i[e+8>>2];f=i[a+12>>2];h=i[e+12>>2]}i[d+4>>2]=h;i[d>>2]=g;i[d+8>>2]=i[e+16>>2];g=0;i[e+16>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;b:{if(f){if(f>>>0>=1073741824){break b}d=f<<2;k=Gm(d);i[e+8>>2]=k;g=d+k|0;i[e+16>>2]=g;tn(k,0,d);i[e+12>>2]=g}d=i[a+128>>2];h=i[d>>2];if(h){i[d+4>>2]=h;qn(h);i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;k=i[e+8>>2];g=i[e+12>>2]}i[d+4>>2]=g;i[d>>2]=k;i[d+8>>2]=i[e+16>>2];h=e+24|0;i[h>>2]=0;i[h+4>>2]=0;j=e+16|0;i[j>>2]=0;i[j+4>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;Pb(e+8|0);g=i[j>>2];j=i[e+12>>2];d=0;c:{if((g|0)==(j|0)){break c}d=i[h>>2]+i[e+28>>2]|0;h=(d>>>0)/341|0;d=i[j+(h<<2)>>2]+o(d-o(h,341)|0,12)|0}i[d+4>>2]=0;i[d+8>>2]=0;i[d>>2]=b;d=i[e+28>>2];f=d+1|0;i[e+28>>2]=f;d:{if(f>>>0>>0){break d}v=a+92|0;w=a+16|0;while(1){g=i[e+12>>2];f=f+ -1|0;h=f+i[e+24>>2]|0;d=(h>>>0)/341|0;d=i[g+(d<<2)>>2]+o(h-o(d,341)|0,12)|0;q=i[d+8>>2];j=i[d+4>>2];d=i[d>>2];i[e+28>>2]=f;f=i[e+16>>2];g=f-g|0;if((g?o(g>>2,341)+ -1|0:0)-h>>>0>=682){qn(i[f+ -4>>2]);i[e+16>>2]=i[e+16>>2]+ -4}if(d>>>0>b>>>0){break d}h=i[a+12>>2];k=(j|0)==(h+ -1|0)?0:j+1|0;if(k>>>0>=h>>>0){break d}h=i[a+116>>2];f=o(q,12);j=h+f|0;e:{g=k<<2;s=f+i[a+128>>2]|0;p=i[a>>2]-i[g+i[s>>2]>>2]|0;if(!p){f=0;if(!d){break e}while(1){Ol(c,j);i[a+8>>2]=i[a+8>>2]+1;f=f+1|0;if((d|0)!=(f|0)){continue}break}break e}f:{g:{h:{i:{if(d>>>0<=2){h=i[a+104>>2];i[h>>2]=k;g=1;f=i[a+12>>2];if(f>>>0>1){break i}break f}if(l[a+8>>2]>l[a+4>>2]){break d}m=h;h=f+12|0;wa(m+h|0,i[j>>2],i[j+4>>2]);h=g+i[h+i[a+116>>2]>>2]|0;i[h>>2]=i[h>>2]+(1<>2]=0;Fe(w,r(d)^31,e+4|0);p=q+1|0;h=d;d=(d>>>1|0)-i[e+4>>2]|0;h=h-d|0;j:{if((h|0)==(d|0)){h=d;break j}j=i[a+84>>2];if((j|0)==i[a+76>>2]){break h}m=i[j>>2];n=i[a+88>>2];s=n+1|0;i[a+88>>2]=s;m=m&-2147483648>>>n;k:{if((s|0)==32){i[a+88>>2]=0;i[a+84>>2]=j+4;if(m){break k}break h}if(!m){break h}}}j=h;h=d;break g}while(1){k=(f+ -1|0)==(k|0)?0:k+1|0;i[h+(g<<2)>>2]=k;g=g+1|0;f=i[a+12>>2];if(g>>>0>>0){continue}break}break f}j=d}m=g;d=i[a+128>>2];f=d+f|0;g=i[f>>2];m=m+g|0;i[m>>2]=i[m>>2]+1;wa(d+o(p,12)|0,g,i[f+4>>2]);if(h){g=i[e+28>>2]+i[e+24>>2]|0;d=i[e+16>>2];f=i[e+12>>2];m=d-f|0;if((g|0)==((m?o(m>>2,341)+ -1|0:0)|0)){Pb(e+8|0);g=i[e+24>>2]+i[e+28>>2]|0;f=i[e+12>>2];d=i[e+16>>2]}if((d|0)==(f|0)){d=0}else{d=(g>>>0)/341|0;d=i[(d<<2)+f>>2]+o(g-o(d,341)|0,12)|0}i[d+8>>2]=q;i[d+4>>2]=k;i[d>>2]=h;i[e+28>>2]=i[e+28>>2]+1}if(!j){break e}g=i[e+28>>2]+i[e+24>>2]|0;h=i[e+16>>2];f=i[e+12>>2];d=h-f|0;if((g|0)==((d?o(d>>2,341)+ -1|0:0)|0)){Pb(e+8|0);g=i[e+24>>2]+i[e+28>>2]|0;f=i[e+12>>2];h=i[e+16>>2]}d=0;l:{if((f|0)==(h|0)){break l}d=(g>>>0)/341|0;d=i[(d<<2)+f>>2]+o(g-o(d,341)|0,12)|0}i[d+8>>2]=p;i[d+4>>2]=k;i[d>>2]=j;i[e+28>>2]=i[e+28>>2]+1;break e}if(!d){break e}q=0;while(1){if(f){y=i[j>>2];z=i[s>>2];k=i[a+92>>2];A=i[a+104>>2];f=0;while(1){p=A+(f<<2)|0;i[k+(i[p>>2]<<2)>>2]=0;g=i[p>>2]<<2;h=i[a>>2]-i[g+z>>2]|0;m:{if(!h){break m}g=g+k|0;m=i[a+48>>2];t=32-m|0;if((h|0)<=(t|0)){n=i[a+44>>2];if((n|0)==i[a+36>>2]){i[g>>2]=0;break m}i[g>>2]=i[n>>2]<>>32-h;h=h+i[a+48>>2]|0;i[a+48>>2]=h;if((h|0)!=32){break m}i[a+48>>2]=0;i[a+44>>2]=n+4;break m}n=i[a+44>>2];u=n+4|0;if((u|0)==i[a+36>>2]){i[g>>2]=0;break m}B=i[n>>2];i[a+44>>2]=u;t=h-t|0;i[a+48>>2]=t;i[g>>2]=i[n+4>>2]>>>32-t|B<>>32-h}h=i[p>>2]<<2;g=h+k|0;i[g>>2]=i[g>>2]|i[h+y>>2];f=f+1|0;if(f>>>0>2]){continue}break}}Ol(c,v);i[a+8>>2]=i[a+8>>2]+1;q=q+1|0;if((q|0)==(d|0)){break e}f=i[a+12>>2];continue}}f=i[e+28>>2];if(f){continue}break}}b=i[e+24>>2];c=(b>>>0)/341|0;a=i[e+12>>2];k=i[e+16>>2];n:{if((a|0)==(k|0)){break n}g=(c<<2)+a|0;f=i[g>>2]+o(b-o(c,341)|0,12)|0;b=b+i[e+28>>2]|0;c=(b>>>0)/341|0;b=i[(c<<2)+a>>2]+o(b-o(c,341)|0,12)|0;if((f|0)==(b|0)){break n}while(1){f=f+12|0;if((f-i[g>>2]|0)==4092){f=i[g+4>>2];g=g+4|0}if((b|0)!=(f|0)){continue}break}}i[e+28>>2]=0;f=k-a>>2;if(f>>>0>2){while(1){qn(i[a>>2]);a=i[e+12>>2]+4|0;i[e+12>>2]=a;k=i[e+16>>2];f=k-a>>2;if(f>>>0>2){continue}break}}g=170;o:{switch(f+ -1|0){case 1:g=341;case 0:i[e+24>>2]=g;break;default:break o}}p:{if((a|0)==(k|0)){break p}while(1){qn(i[a>>2]);a=a+4|0;if((k|0)!=(a|0)){continue}break}a=i[e+16>>2];b=i[e+12>>2];if((a|0)==(b|0)){break p}i[e+16>>2]=a+(((a-b|0)+ -4>>>2^-1)<<2)}a=i[e+8>>2];if(a){qn(a)}L=e+32|0;return}Vm();x()}Vm();x()}function bh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=L-32|0;L=e;g=i[a+32>>2];c=k[a+36>>1];a:{b:{if((c<<24|c<<8&16711680)>>>16>>>0<=513){b=i[g+12>>2];f=b;c=i[g+20>>2];d=c;h=i[g+16>>2];n=h+4|0;if(n>>>0<4){c=c+1|0}m=i[g+8>>2];q=n;n=c;if((b|0)<(c|0)?1:(b|0)<=(c|0)?m>>>0>>0:0){break a}t=i[g>>2];c=t+h|0;r=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[e+28>>2]=r;i[g+16>>2]=q;i[g+20>>2]=n;c=f;b=d;f=h+8|0;if(f>>>0<8){b=b+1|0}d=f;f=b;if((c|0)<(b|0)?1:(c|0)<=(b|0)?m>>>0>>0:0){break a}c=q+t|0;t=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[e+24>>2]=t;i[g+16>>2]=d;i[g+20>>2]=f;break b}if(!ch(1,e+28|0,g)){break a}if(!ch(1,e+24|0,i[a+32>>2])){break a}r=i[e+28>>2];t=i[e+24>>2]}if(r>>>0>1431655765){break a}f=i[a+32>>2];c=f;h=i[c+8>>2];b=h;g=i[c+16>>2];n=b-g|0;d=i[c+12>>2];m=b>>>0>>0;b=i[c+20>>2];q=Kn(n,d-(m+b|0)|0,3,0);n=N;if((d|0)<(b|0)?1:(d|0)<=(b|0)?h>>>0<=g>>>0:0){break a}c=r;d=Jn(c,0,3,0);h=N;if(!h&d>>>0>>0|h>>>0<0|(!n&q>>>0>>0|n>>>0<0)){break a}n=j[g+i[f>>2]|0];c=b;h=g+1|0;if(h>>>0<1){c=c+1|0}d=f;i[d+16>>2]=h;i[d+20>>2]=c;c:{if(!n){if(!dh(a,r)){break a}break c}d:{if(t>>>0<=255){if(!r){break c}q=0;p=e+16|0;i[p>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;o=i[f+8>>2];d=i[f+12>>2];b=d;if((b|0)<(c|0)?1:(b|0)<=(c|0)?o>>>0<=h>>>0:0){break d}while(1){g=i[f>>2];s=j[g+h|0];b=c;m=h+1|0;if(m>>>0<1){b=b+1|0}n=f;i[f+16>>2]=m;i[f+20>>2]=b;i[e+8>>2]=s;if((d|0)<(b|0)?1:(d|0)<=(b|0)?o>>>0<=m>>>0:0){break d}s=j[g+m|0];b=c;m=h+2|0;if(m>>>0<2){b=b+1|0}i[f+16>>2]=m;i[n+20>>2]=b;i[e+12>>2]=s;if((d|0)<(b|0)?1:(d|0)<=(b|0)?o>>>0<=m>>>0:0){break d}b=j[g+m|0];d=h+3|0;if(d>>>0<3){c=c+1|0}i[f+16>>2]=d;i[f+20>>2]=c;i[e+16>>2]=b;eh(i[a+44>>2]+96|0,e+8|0);q=q+1|0;if((q|0)==(r|0)){break c}f=i[a+32>>2];b=f;h=i[b+16>>2];c=i[b+20>>2];i[p>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;o=i[b+8>>2];d=i[b+12>>2];b=d;if((b|0)>(c|0)?1:(b|0)>=(c|0)?o>>>0>h>>>0:0){continue}break}break d}if(t>>>0<=65535){if(!r){break c}q=0;u=e+16|0;i[u>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;n=i[f+12>>2];p=n;d=g+3|0;if(d>>>0<3){b=b+1|0}m=i[f+8>>2];o=d;d=b;if((p|0)<(b|0)?1:(p|0)<=(b|0)?m>>>0>>0:0){break d}while(1){p=i[f>>2];b=p+h|0;b=j[b|0]|j[b+1|0]<<8;i[f+16>>2]=o;i[f+20>>2]=d;i[e+8>>2]=b;d=n;b=c;g=h+4|0;if(g>>>0<4){b=b+1|0}s=g;g=b;if((d|0)<(b|0)?1:(d|0)<=(b|0)?m>>>0>>0:0){break d}b=o+p|0;b=j[b|0]|j[b+1|0]<<8;i[f+16>>2]=s;i[f+20>>2]=g;i[e+12>>2]=b;b=c;c=h+6|0;if(c>>>0<6){b=b+1|0}d=c;c=b;if((n|0)<(b|0)?1:(n|0)<=(b|0)?m>>>0>>0:0){break d}b=p+s|0;b=j[b|0]|j[b+1|0]<<8;i[f+16>>2]=d;i[f+20>>2]=c;i[e+16>>2]=b;eh(i[a+44>>2]+96|0,e+8|0);q=q+1|0;if((q|0)==(r|0)){break c}f=i[a+32>>2];b=f;h=i[b+16>>2];c=i[b+20>>2];i[u>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;g=i[b+12>>2];n=g;m=i[b+8>>2];p=m;b=c;d=h+2|0;if(d>>>0<2){b=b+1|0}o=d;d=b;if((g|0)>(b|0)?1:(g|0)>=(b|0)?p>>>0>=o>>>0:0){continue}break}break d}e:{if(l[i[a+44>>2]+80>>2]>2097151){break e}d=k[a+36>>1];if((d<<24|d<<8&16711680)>>>16>>>0<514){break e}if(!r){break c}c=e+16|0;i[c>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;if(!ch(1,e+4|0,f)){break d}while(1){i[e+8>>2]=i[e+4>>2];if(!ch(1,e+4|0,i[a+32>>2])){break d}i[e+12>>2]=i[e+4>>2];if(!ch(1,e+4|0,i[a+32>>2])){break d}i[e+16>>2]=i[e+4>>2];eh(i[a+44>>2]+96|0,e+8|0);o=o+1|0;if((r|0)==(o|0)){break c}b=i[a+32>>2];i[c>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;if(ch(1,e+4|0,b)){continue}break}break d}if(!r){break c}q=0;u=e+16|0;i[u>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;n=i[f+12>>2];p=n;d=g+5|0;if(d>>>0<5){b=b+1|0}m=i[f+8>>2];o=d;d=b;if((p|0)<(b|0)?1:(p|0)<=(b|0)?m>>>0>>0:0){break d}while(1){p=i[f>>2];b=p+h|0;b=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[f+16>>2]=o;i[f+20>>2]=d;i[e+8>>2]=b;d=n;b=c;g=h+8|0;if(g>>>0<8){b=b+1|0}s=g;g=b;if((d|0)<(b|0)?1:(d|0)<=(b|0)?m>>>0>>0:0){break d}b=o+p|0;b=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[f+16>>2]=s;i[f+20>>2]=g;i[e+12>>2]=b;b=h+12|0;if(b>>>0<12){c=c+1|0}d=b;b=c;if((n|0)<(b|0)?1:(n|0)<=(b|0)?m>>>0>>0:0){break d}c=p+s|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[f+16>>2]=d;i[f+20>>2]=b;i[e+16>>2]=c;eh(i[a+44>>2]+96|0,e+8|0);q=q+1|0;if((q|0)==(r|0)){break c}f=i[a+32>>2];b=f;h=i[b+16>>2];c=i[b+20>>2];i[u>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;g=i[b+12>>2];n=g;m=i[b+8>>2];p=m;b=c;d=h+4|0;if(d>>>0<4){b=b+1|0}o=d;d=b;if((g|0)>(b|0)?1:(g|0)>=(b|0)?p>>>0>=o>>>0:0){continue}break}}o=0;break a}i[i[a+4>>2]+80>>2]=t;o=1}L=e+32|0;return o|0}function id(a,b,c,d){var e=0,f=0,l=0,o=0,r=p(0),t=0,w=0,x=0;a:{b:{if(!d){break b}c:{switch(i[a+28>>2]+ -1|0){case 0:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){return}e=(f<<3)+d|0;l=g[b|0];i[e>>2]=l;i[e+4>>2]=l>>31;b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){return}e=(f<<3)+d|0;i[e>>2]=j[b|0];i[e+4>>2]=0;b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){return}e=(f<<3)+d|0;l=h[b>>1];i[e>>2]=l;i[e+4>>2]=l>>31;b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){return}e=(f<<3)+d|0;i[e>>2]=k[b>>1];i[e+4>>2]=0;b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){return}e=(f<<3)+d|0;l=i[b>>2];i[e>>2]=l;i[e+4>>2]=l>>31;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){return}e=(f<<3)+d|0;i[e>>2]=i[b>>2];i[e+4>>2]=0;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){return}l=i[b+4>>2];e=(f<<3)+d|0;i[e>>2]=i[b>>2];i[e+4>>2]=l;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){return}e=i[b+4>>2];l=e;w=i[b>>2];if((e|0)<0?1:(e|0)<=0?w>>>0<0:0){return}e=(f<<3)+d|0;i[e>>2]=w;i[e+4>>2]=l;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 8:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;w=i[e+4>>2];f=0;while(1){if(w>>>0<=b>>>0){return}e=(f<<3)+d|0;o=e;r=m[b>>2];d:{if(p(q(r))=p(1)?r>p(0)?~~p(s(p(u(p(r/p(4294967296)))),p(4294967296)))>>>0:~~p(v(p(p(r-p(~~r>>>0>>>0))/p(4294967296))))>>>0:0;x=~~r>>>0;break d}l=-2147483648;x=0}i[o>>2]=x;i[e+4>>2]=l;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 9:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;w=i[e+4>>2];f=0;while(1){if(w>>>0<=b>>>0){return}e=(f<<3)+d|0;o=e;t=n[b>>3];e:{if(q(t)<0x8000000000000000){l=q(t)>=1?t>0?~~s(u(t/4294967296),4294967295)>>>0:~~v((t- +(~~t>>>0>>>0))/4294967296)>>>0:0;x=~~t>>>0;break e}l=-2147483648;x=0}i[o>>2]=x;i[e+4>>2]=l;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 10:break c;default:break b}}e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){return}e=(f<<3)+d|0;i[e>>2]=j[b|0];i[e+4>>2]=0;b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}tn((e<<3)+d|0,0,c-e<<3)}return}tn((e<<3)+d|0,0,c-e<<3)}function $f(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;d=L-48|0;L=d;c=i[i[a+4>>2]+44>>2];f=i[a+8>>2];e=i[f>>2];f=i[f+4>>2];i[d+40>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;f=(f-e>>2>>>0)/3|0;h=i[c+96>>2];e=(i[c+100>>2]-h|0)/12|0;a:{if(f>>>0>e>>>0){dg(c+96|0,f-e|0,d+32|0);break a}if(f>>>0>=e>>>0){break a}i[c+100>>2]=h+o(f,12)}b:{if(i[a+216>>2]==i[a+220>>2]){k=i[a+4>>2];c=i[k+44>>2];f=i[c+100>>2];m=i[c+96>>2];if((f|0)!=(m|0)){c=(f-m|0)/12|0;j=c>>>0>1?c:1;l=d+40|0;c=0;while(1){i[l>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;e=d;c:{d:{e:{h=o(c,3);if((h|0)==-1){f=-1;i[d+32>>2]=-1;g=0;break e}f=i[i[i[a+8>>2]>>2]+(h<<2)>>2];i[d+32>>2]=f;g=h+1|0;if((g|0)!=-1){break e}i[d+36>>2]=-1;h=0;break d}i[d+36>>2]=i[i[i[a+8>>2]>>2]+(g<<2)>>2];h=h+2|0;g=-1;if((h|0)==-1){break c}}g=i[i[i[a+8>>2]>>2]+(h<<2)>>2]}i[e+40>>2]=g;e=m+o(c,12)|0;i[e>>2]=f;i[e+4>>2]=i[d+36>>2];i[e+8>>2]=i[d+40>>2];c=c+1|0;if((j|0)!=(c|0)){continue}break}}i[i[k+4>>2]+80>>2]=b;c=1;break b}i[d+40>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;h=i[a+8>>2];b=i[h>>2];c=i[h+4>>2];i[d+24>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;f:{g:{h:{i:{j:{k:{l:{b=c-b|0;if(b){c=b>>2;if(c>>>0>=1073741824){break l}b=Gm(b);i[d+16>>2]=b;c=c<<2;f=c+b|0;i[d+24>>2]=f;tn(b,0,c);i[d+20>>2]=f}if((i[h+28>>2]-i[h+24>>2]|0)<1){break g}while(1){f=i[i[h+24>>2]+(m<<2)>>2];m:{if((f|0)==-1){break m}n:{if(i[i[a+120>>2]+(m>>>3&536870908)>>2]>>>(m&31)&1){break n}b=i[a+220>>2];k=i[a+216>>2];if((b|0)==(k|0)){break n}n=(b-k|0)/144|0;j=((f>>>0)%3|0?-1:2)+f|0;g=0;while(1){p=f<<2;l=k+o(g,144)|0;b=i[p+i[i[l+68>>2]>>2]>>2];o:{if(!(i[i[l+16>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1)){break o}b=f;c=-1;p:{if((j|0)==-1){break p}e=i[i[h+12>>2]+(j<<2)>>2];c=-1;if((e|0)==-1){break p}c=e+ -1|0;if((e>>>0)%3|0){break p}c=e+2|0}if((b|0)==(c|0)){break o}l=i[l+32>>2];p=i[l+p>>2];while(1){b=0;if((c|0)==-1){break f}if((p|0)!=i[l+(c<<2)>>2]){f=c;break n}e=f;c=((c>>>0)%3|0?-1:2)+c|0;b=-1;q:{if((c|0)==-1){break q}c=i[i[h+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break q}b=c+ -1|0;if((c>>>0)%3|0){break q}b=c+2|0}c=b;if((e|0)!=(c|0)){continue}break}}g=g+1|0;if(g>>>0>>0){continue}break}}b=i[d+36>>2];c=i[d+32>>2];g=b-c|0;k=g>>2;i[i[d+16>>2]+(f<<2)>>2]=k;j=i[d+40>>2];r:{if(j>>>0>b>>>0){i[b>>2]=f;i[d+36>>2]=b+4;break r}e=k+1|0;if(e>>>0>=1073741824){break k}j=j-c|0;l=j>>1;e=j>>2>>>0<536870911?l>>>0>>0?e:l:1073741823;b=0;s:{if(!e){break s}if(e>>>0>=1073741824){break j}b=Gm(e<<2)}k=b+(k<<2)|0;i[k>>2]=f;e=b+(e<<2)|0;k=k+4|0;if((g|0)>=1){sn(b,c,g)}i[d+40>>2]=e;i[d+36>>2]=k;i[d+32>>2]=b;if(!c){break r}qn(c);h=i[a+8>>2]}if((f|0)==-1){break m}b=((f>>>0)%3|0?-1:2)+f|0;if((b|0)==-1){break m}b=i[i[h+12>>2]+(b<<2)>>2];if((b|0)==-1){break m}c=b+((b>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=f;if((c|0)==(f|0)){break m}while(1){b=c;t:{u:{c=i[a+220>>2];g=i[a+216>>2];if((c|0)==(g|0)){break u}k=(c-g|0)/144|0;c=0;while(1){j=i[(g+o(c,144)|0)+32>>2];l=b<<2;if(i[j+l>>2]==i[j+(e<<2)>>2]){c=c+1|0;if(c>>>0>>0){continue}break u}break}c=i[d+36>>2];e=i[d+32>>2];k=c-e|0;j=k>>2;i[l+i[d+16>>2]>>2]=j;l=i[d+40>>2];if(l>>>0>c>>>0){i[c>>2]=b;i[d+36>>2]=c+4;break t}g=j+1|0;if(g>>>0>=1073741824){break i}l=l-e|0;n=l>>1;g=l>>2>>>0<536870911?n>>>0>>0?g:n:1073741823;c=0;v:{if(!g){break v}if(g>>>0>=1073741824){break h}c=Gm(g<<2)}j=c+(j<<2)|0;i[j>>2]=b;g=c+(g<<2)|0;j=j+4|0;if((k|0)>=1){sn(c,e,k)}i[d+40>>2]=g;i[d+36>>2]=j;i[d+32>>2]=c;if(!e){break t}qn(e);h=i[a+8>>2];break t}c=i[d+16>>2];i[c+(b<<2)>>2]=i[c+(e<<2)>>2]}if((b|0)==-1){break m}c=b+((b>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}c=i[i[h+12>>2]+(c<<2)>>2];if((c|0)==-1){break m}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1){break m}e=b;if((c|0)!=(f|0)){continue}break}}m=m+1|0;if((m|0)>2]-i[h+24>>2]>>2){continue}break}break g}Vm();x()}Vm();x()}Da(12220);x()}Vm();x()}Da(12220);x()}f=i[a+4>>2];a=i[f+44>>2];b=i[a+100>>2];a=i[a+96>>2];if((b|0)!=(a|0)){b=(b-a|0)/12|0;e=b>>>0>1?b:1;c=0;h=i[d+16>>2];while(1){m=d+8|0;g=o(c,12);b=g+h|0;i[m>>2]=i[b+8>>2];k=i[b+4>>2];j=i[b>>2];i[d>>2]=j;i[d+4>>2]=k;b=a+g|0;i[b>>2]=j;i[b+4>>2]=i[d+4>>2];i[b+8>>2]=i[m>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}}i[i[f+4>>2]+80>>2]=i[d+36>>2]-i[d+32>>2]>>2;b=1}c=b;a=i[d+16>>2];if(a){i[d+20>>2]=a;qn(a)}a=i[d+32>>2];if(!a){break b}i[d+36>>2]=a;qn(a)}L=d+48|0;return c}function bd(a,b,c,d){var e=0,f=0,o=p(0),q=0,r=0;a:{b:{c:{if(!d){break c}d:{switch(i[a+28>>2]+ -1|0){case 0:r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){f=i[a>>2];e=i[f>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;q=i[f+4>>2];f=0;while(1){if(q>>>0<=b>>>0){break b}e=(f<<2)+d|0;o=p(g[b|0]);m[e>>2]=o;if(j[a+32|0]){m[e>>2]=o/p(127)}b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 1:r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){f=i[a>>2];e=i[f>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;q=i[f+4>>2];f=0;while(1){if(q>>>0<=b>>>0){break b}e=(f<<2)+d|0;o=p(j[b|0]);m[e>>2]=o;if(j[a+32|0]){m[e>>2]=o/p(255)}b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 2:r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){f=i[a>>2];e=i[f>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;q=i[f+4>>2];f=0;while(1){if(q>>>0<=b>>>0){break b}e=(f<<2)+d|0;o=p(h[b>>1]);m[e>>2]=o;if(j[a+32|0]){m[e>>2]=o/p(32767)}b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 3:r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){f=i[a>>2];e=i[f>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;q=i[f+4>>2];f=0;while(1){if(q>>>0<=b>>>0){break b}e=(f<<2)+d|0;o=p(k[b>>1]);m[e>>2]=o;if(j[a+32|0]){m[e>>2]=o/p(65535)}b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 4:r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){f=i[a>>2];e=i[f>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;q=i[f+4>>2];f=0;while(1){if(q>>>0<=b>>>0){break b}e=(f<<2)+d|0;o=p(i[b>>2]);m[e>>2]=o;if(j[a+32|0]){m[e>>2]=o*p(4.656612873077393e-10)}b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 5:r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){f=i[a>>2];e=i[f>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;q=i[f+4>>2];f=0;while(1){if(q>>>0<=b>>>0){break b}e=(f<<2)+d|0;o=p(l[b>>2]);m[e>>2]=o;if(j[a+32|0]){m[e>>2]=o*p(2.3283064365386963e-10)}b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 6:r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){f=i[a>>2];e=i[f>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;q=i[f+4>>2];f=0;while(1){if(q>>>0<=b>>>0){break b}e=(f<<2)+d|0;o=p(+l[b>>2]+ +i[b+4>>2]*4294967296);m[e>>2]=o;if(j[a+32|0]){m[e>>2]=o*p(1.0842021724855044e-19)}b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 7:r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){f=i[a>>2];e=i[f>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;q=i[f+4>>2];f=0;while(1){if(q>>>0<=b>>>0){break b}e=(f<<2)+d|0;o=p(+l[b>>2]+ +l[b+4>>2]*4294967296);m[e>>2]=o;if(j[a+32|0]){m[e>>2]=o*p(5.421010862427522e-20)}b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 8:r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){f=i[a>>2];e=i[f>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;q=i[f+4>>2];f=0;while(1){if(q>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=i[b>>2];b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 9:r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){f=i[a>>2];e=i[f>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;q=i[f+4>>2];f=0;while(1){if(q>>>0<=b>>>0){break b}m[(f<<2)+d>>2]=n[b>>3];b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 10:break d;default:break c}}r=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){q=i[a>>2];e=i[q>>2];b=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=e+b|0;while(1){if(l[q+4>>2]<=b>>>0){break b}m[(f<<2)+d>>2]=j[b|0]?p(1):p(0);b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}tn((e<<2)+d|0,0,c-e<<2)}return r}return 0}tn((e<<2)+d|0,0,c-e<<2);return 1}function si(a,b,c,d){var e=0,f=0,l=0,o=0,r=0,s=0,t=p(0),u=0;a:{b:{c:{if(!d){break c}d:{switch(i[a+28>>2]+ -1|0){case 0:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}h[(f<<1)+d>>1]=g[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 1:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}h[(f<<1)+d>>1]=j[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 2:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}h[(f<<1)+d>>1]=k[b>>1];b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 3:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];o=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+o|0;l=i[e+4>>2];while(1){if(l>>>0<=b>>>0){break b}o=0;e=h[b>>1];if((e|0)<0){break c}h[(f<<1)+d>>1]=e;b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}o=1;if((e|0)>=(c|0)){break c}break a;case 4:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}e=i[b>>2];if(e+32768>>>0>65535){break b}h[(f<<1)+d>>1]=e;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 5:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}e=i[b>>2];if(e>>>0>32767){break b}h[(f<<1)+d>>1]=e;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 6:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}e=i[b+4>>2];r=i[b>>2];s=r+32768|0;if(s>>>0<32768){e=e+1|0}if(!e&s>>>0>65535|e>>>0>0){break b}h[(f<<1)+d>>1]=r;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 7:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}e=i[b+4>>2];r=i[b>>2];if(!e&r>>>0>32767|e>>>0>0){break b}h[(f<<1)+d>>1]=r;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 8:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}r=(f<<1)+d|0;t=m[b>>2];e:{if(p(q(t))>1]=e;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 9:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}r=(f<<1)+d|0;u=n[b>>3];f:{if(q(u)<2147483648){e=~~u;break f}e=-2147483648}h[r>>1]=e;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 10:break d;default:break c}}o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}h[(f<<1)+d>>1]=j[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}tn((e<<1)+d|0,0,c-e<<1)}return o}return 0}tn((e<<1)+d|0,0,c-e<<1);return 1}function ui(a,b,c,d){var e=0,f=0,l=0,o=0,q=0,r=p(0),s=0;a:{b:{c:{if(!d){break c}d:{switch(i[a+28>>2]+ -1|0){case 0:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];o=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+o|0;l=i[e+4>>2];while(1){if(l>>>0<=b>>>0){break b}o=0;e=g[b|0];if((e|0)<0){break c}h[(f<<1)+d>>1]=e&255;b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}o=1;if((e|0)>=(c|0)){break c}break a;case 1:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}h[(f<<1)+d>>1]=j[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 2:e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];o=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+o|0;l=i[e+4>>2];while(1){if(l>>>0<=b>>>0){break b}o=0;e=h[b>>1];if((e|0)<0){break c}h[(f<<1)+d>>1]=e;b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}o=1;if((e|0)>=(c|0)){break c}break a;case 3:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}h[(f<<1)+d>>1]=k[b>>1];b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 4:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}e=i[b>>2];if(e>>>0>65535){break b}h[(f<<1)+d>>1]=e;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 5:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}e=i[b>>2];if(e>>>0>65535){break b}h[(f<<1)+d>>1]=e;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 6:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}e=i[b+4>>2];q=i[b>>2];if(!e&q>>>0>65535|e>>>0>0){break b}h[(f<<1)+d>>1]=q;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 7:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}e=i[b+4>>2];q=i[b>>2];if(!e&q>>>0>65535|e>>>0>0){break b}h[(f<<1)+d>>1]=q;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 8:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}q=(f<<1)+d|0;r=m[b>>2];e:{if(r=p(0)){e=~~r>>>0;break e}e=0}h[q>>1]=e;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 9:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}q=(f<<1)+d|0;s=n[b>>3];f:{if(s<4294967296&s>=0){e=~~s>>>0;break f}e=0}h[q>>1]=e;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 10:break d;default:break c}}o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;l=i[e+4>>2];f=0;while(1){if(l>>>0<=b>>>0){break b}h[(f<<1)+d>>1]=j[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}tn((e<<1)+d|0,0,c-e<<1)}return o}return 0}tn((e<<1)+d|0,0,c-e<<1);return 1}function wi(a,b,c,d){var e=0,f=0,l=0,o=0,r=0,s=p(0),t=0;a:{b:{c:{if(!d){break c}d:{switch(i[a+28>>2]+ -1|0){case 0:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;r=i[e+4>>2];f=0;while(1){if(r>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=g[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 1:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;r=i[e+4>>2];f=0;while(1){if(r>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=j[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 2:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;r=i[e+4>>2];f=0;while(1){if(r>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=h[b>>1];b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 3:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;r=i[e+4>>2];f=0;while(1){if(r>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=k[b>>1];b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 4:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;r=i[e+4>>2];f=0;while(1){if(r>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=i[b>>2];b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 5:o=g[a+24|0];if(((o|0)>(c|0)?c:o)<<24>>24>=1){e=i[a>>2];l=i[e>>2];o=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+o|0;e=i[e+4>>2];while(1){if(e>>>0<=b>>>0){break b}o=0;r=i[b>>2];if((r|0)<0){break c}i[(f<<2)+d>>2]=r;b=b+4|0;f=f+1|0;o=g[a+24|0];if((f|0)<((o|0)>(c|0)?c:o)<<24>>24){continue}break}}if((o|0)>=(c|0)){return 1}tn((o<<2)+d|0,0,c-o<<2);return 1;case 6:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;r=i[e+4>>2];f=0;while(1){if(r>>>0<=b>>>0){break b}e=i[b+4>>2];l=i[b>>2];if(l+ -2147483648>>>0<2147483648){e=e+1|0}if(e>>>0>0){break b}i[(f<<2)+d>>2]=l;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 7:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;r=i[e+4>>2];f=0;while(1){if(r>>>0<=b>>>0){break b}e=i[b+4>>2];l=i[b>>2];if(!e&l>>>0>2147483647|e>>>0>0){break b}i[(f<<2)+d>>2]=l;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 8:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;r=i[e+4>>2];f=0;while(1){if(r>>>0<=b>>>0){break b}e=(f<<2)+d|0;s=m[b>>2];e:{if(p(q(s))>2]=l;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 9:o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;r=i[e+4>>2];f=0;while(1){if(r>>>0<=b>>>0){break b}e=(f<<2)+d|0;t=n[b>>3];f:{if(q(t)<2147483648){l=~~t;break f}l=-2147483648}i[e>>2]=l;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 10:break d;default:break c}}o=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];l=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=l+f|0;r=i[e+4>>2];f=0;while(1){if(r>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=j[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}tn((e<<2)+d|0,0,c-e<<2)}return o}return 0}tn((e<<2)+d|0,0,c-e<<2);return 1}function hd(a,b,c,d){var e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,O=0,P=0,Q=0,R=0,S=0;f=L-80|0;L=f;h=-1;e=-1;a:{if((b|0)==-1){break a}e=b+1|0;h=(e>>>0)%3|0?e:b+ -2|0;e=b+ -1|0;if((b>>>0)%3|0){break a}e=b+2|0}l=i[a+36>>2];b=i[l>>2];b:{c:{d:{e:{f:{l=i[l+4>>2]-b>>2;m=h<<2;h=i[i[a+32>>2]+28>>2];k=i[m+h>>2];if(l>>>0<=k>>>0){break f}e=i[h+(e<<2)>>2];if(l>>>0<=e>>>0){break f}g:{h:{u=i[b+(k<<2)>>2];w=(u|0)>=(d|0);if(w){break h}h=i[b+(e<<2)>>2];if((h|0)>=(d|0)){break h}b=h<<3;B=i[(b|4)+c>>2];e=u<<3;y=i[(e|4)+c>>2];C=i[b+c>>2];z=i[c+e>>2];if(!((C|0)!=(z|0)|(y|0)!=(B|0))){i[a+8>>2]=z;i[a+12>>2]=y;break g}b=i[i[a+4>>2]+(d<<2)>>2];i[f+72>>2]=0;i[f+76>>2]=0;e=f- -64|0;i[e>>2]=0;i[e+4>>2]=0;i[f+56>>2]=0;i[f+60>>2]=0;e=i[a>>2];if(!j[e+84|0]){b=i[i[e+68>>2]+(b<<2)>>2]}id(e,b,g[e+24|0],f+56|0);b=i[i[a+4>>2]+(u<<2)>>2];i[f+48>>2]=0;i[f+52>>2]=0;i[f+40>>2]=0;i[f+44>>2]=0;i[f+32>>2]=0;i[f+36>>2]=0;e=i[a>>2];if(!j[e+84|0]){b=i[i[e+68>>2]+(b<<2)>>2]}id(e,b,g[e+24|0],f+32|0);b=i[i[a+4>>2]+(h<<2)>>2];i[f+24>>2]=0;i[f+28>>2]=0;i[f+16>>2]=0;i[f+20>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;e=i[a>>2];if(!j[e+84|0]){b=i[i[e+68>>2]+(b<<2)>>2]}id(e,b,g[e+24|0],f+8|0);A=i[f+44>>2];e=i[f+16>>2];b=i[f+40>>2];q=i[f+20>>2]-(A+(e>>>0>>0)|0)|0;h=e-b|0;e=Jn(h,q,h,q);p=N;m=e;E=i[f+36>>2];e=i[f+8>>2];r=i[f+32>>2];l=r;s=i[f+12>>2]-(E+(e>>>0>>0)|0)|0;l=e-l|0;o=Jn(l,s,l,s);k=m+o|0;e=N+p|0;e=k>>>0>>0?e+1|0:e;F=k;n=i[f+52>>2];k=i[f+24>>2];m=i[f+48>>2];o=m;p=i[f+28>>2]-(n+(k>>>0>>0)|0)|0;k=k-o|0;v=Jn(k,p,k,p);o=F+v|0;e=N+e|0;t=o;o=o>>>0>>0?e+1|0:e;if(!(t|o)){break h}c=i[f+64>>2];u=c-b|0;G=i[f+68>>2]-((c>>>0>>0)+A|0)|0;b=Jn(u,G,h,q);c=N;e=b;b=i[f+56>>2];w=b-r|0;H=i[f+60>>2]-((b>>>0>>0)+E|0)|0;d=Jn(w,H,l,s);b=e+d|0;e=N+c|0;e=b>>>0>>0?e+1|0:e;d=b;b=i[f+72>>2];A=b-m|0;I=i[f+76>>2]-((b>>>0>>0)+n|0)|0;c=Jn(A,I,k,p);b=d+c|0;e=N+e|0;D=b;F=b;r=b>>>0>>0?e+1|0:e;J=r;e=p;b=e>>31;c=e>>31;e=b+e|0;m=c+k|0;if(m>>>0>>0){e=e+1|0}c=c^m;b=b^e;K=b;m=c;E=b;d=q;b=d>>31;d=d>>31;n=b;b=q+b|0;e=d;v=e+h|0;if(v>>>0>>0){b=b+1|0}d=d^v;b=b^n;M=b;v=b;e=s;b=e>>31;e=e>>31;P=m;Q=d;n=b+s|0;m=e+l|0;if(m>>>0>>0){n=n+1|0}e=e^m;d=e>>>0>>0;b=b^n;d=(b|0)<(M|0)?1:(b|0)<=(M|0)?d:0;e=d?Q:e;c=e>>>0>>0;b=d?v:b;c=(b|0)<(K|0)?1:(b|0)<=(K|0)?c:0;c=F>>>0>Ln(-1,2147483647,c?P:e,c?E:b)>>>0;b=N;if((J|0)>(b|0)?1:(J|0)>=(b|0)?c:0){break b}d=1;b=0;c=Kn(Jn(h,q,D,r),N,t,o);e=G-(N+(u>>>0>>0)|0)|0;c=u-c|0;c=Jn(c,e,c,e);h=N;m=c;c=Kn(Jn(l,s,D,r),N,t,o);e=H-(N+(w>>>0>>0)|0)|0;c=w-c|0;e=Jn(c,e,c,e);c=m+e|0;n=N+h|0;n=c>>>0>>0?n+1|0:n;l=c;c=Kn(Jn(D,r,k,p),N,t,o);e=I-(N+(A>>>0>>0)|0)|0;c=A-c|0;h=Jn(c,e,c,e);c=l+h|0;e=N+n|0;h=Jn(c,c>>>0>>0?e+1|0:e,t,o);c=N;l=c;if(!c&h>>>0<=1|c>>>0<0){break e}k=h;c=l;while(1){e=b<<1|d>>>31;d=d<<1;b=e;q=!c&k>>>0>7|c>>>0>0;k=(c&3)<<30|k>>>2;c=c>>>2|0;if(q){continue}break}break d}e=a;if(w){if((d|0)<=0){i[a+8>>2]=0;i[a+12>>2]=0;break g}b=(d<<1)+ -2|0}else{b=u<<1}b=(b<<2)+c|0;i[e+8>>2]=i[b>>2];i[a+12>>2]=i[b+4>>2]}O=1;break b}Wm();x()}b=l;d=h;if(d-1|0){break c}}while(1){c=Ln(h,l,d,b)+d|0;e=b+N|0;e=c>>>0>>0?e+1|0:e;d=(e&1)<<31|c>>>1;b=e>>>1|0;c=Jn(d,b,d,b);e=N;if((l|0)==(e|0)&c>>>0>h>>>0|e>>>0>l>>>0){continue}break}}l=i[a+20>>2];if(l){k=l+ -1|0;q=i[i[a+16>>2]+(k>>>3&536870908)>>2];i[a+20>>2]=k;c=B;e=y;s=c-e|0;p=e>>31;y=(c>>31)-(p+(c>>>0>>0)|0)|0;c=Jn(D,r,s,y);h=N;e=Jn(e,p,t,o);c=e+c|0;n=N+h|0;n=c>>>0>>0?n+1|0:n;m=c;c=C;h=z;e=h;p=c-e|0;B=e>>31;z=(c>>31)-(B+(c>>>0>>0)|0)|0;c=Jn(d,b,p,z);e=c;c=q>>>(k&31)&1;C=c?0-e|0:e;k=m+C|0;m=N;e=(c?0-(m+(0>>0)|0)|0:m)+n|0;R=a,S=Kn(k,k>>>0>>0?e+1|0:e,t,o),i[R+12>>2]=S;e=Jn(D,r,p,z);k=N;m=a;a=e;e=Jn(h,B,t,o);a=a+e|0;n=N+k|0;n=a>>>0>>0?n+1|0:n;e=a;a=Jn(d,b,s,y);d=c?a:0-a|0;b=e+d|0;e=N;a=(c?e:0-((0>>0)+e|0)|0)+n|0;R=m,S=Kn(b,b>>>0>>0?a+1|0:a,t,o),i[R+8>>2]=S}O=(l|0)!=0}L=f+80|0;return O}function Gd(a,b,c,d){var e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,O=0,P=0,Q=0,R=0,S=0;f=L-80|0;L=f;e=-1;h=-1;a:{if((b|0)==-1){break a}k=((b>>>0)%3|0?-1:2)+b|0;l=i[a+32>>2];p=b+1|0;b=(p>>>0)%3|0?p:b+ -2|0;if((b|0)!=-1){e=i[i[l>>2]+(b<<2)>>2]}if((k|0)==-1){break a}h=i[i[l>>2]+(k<<2)>>2]}k=i[a+36>>2];b=i[k>>2];b:{c:{d:{e:{k=i[k+4>>2]-b>>2;if(!(k>>>0<=e>>>0|k>>>0<=h>>>0)){f:{g:{u=i[b+(e<<2)>>2];w=(u|0)>=(d|0);if(w){break g}h=i[b+(h<<2)>>2];if((h|0)>=(d|0)){break g}b=h<<3;B=i[(b|4)+c>>2];e=u<<3;y=i[(e|4)+c>>2];C=i[b+c>>2];z=i[c+e>>2];if(!((C|0)!=(z|0)|(y|0)!=(B|0))){i[a+8>>2]=z;i[a+12>>2]=y;break f}b=i[i[a+4>>2]+(d<<2)>>2];i[f+72>>2]=0;i[f+76>>2]=0;e=f- -64|0;i[e>>2]=0;i[e+4>>2]=0;i[f+56>>2]=0;i[f+60>>2]=0;e=i[a>>2];if(!j[e+84|0]){b=i[i[e+68>>2]+(b<<2)>>2]}id(e,b,g[e+24|0],f+56|0);b=i[i[a+4>>2]+(u<<2)>>2];i[f+48>>2]=0;i[f+52>>2]=0;i[f+40>>2]=0;i[f+44>>2]=0;i[f+32>>2]=0;i[f+36>>2]=0;e=i[a>>2];if(!j[e+84|0]){b=i[i[e+68>>2]+(b<<2)>>2]}id(e,b,g[e+24|0],f+32|0);b=i[i[a+4>>2]+(h<<2)>>2];i[f+24>>2]=0;i[f+28>>2]=0;i[f+16>>2]=0;i[f+20>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;e=i[a>>2];if(!j[e+84|0]){b=i[i[e+68>>2]+(b<<2)>>2]}id(e,b,g[e+24|0],f+8|0);A=i[f+44>>2];e=i[f+16>>2];b=i[f+40>>2];p=i[f+20>>2]-(A+(e>>>0>>0)|0)|0;h=e-b|0;e=Jn(h,p,h,p);q=N;n=e;E=i[f+36>>2];e=i[f+8>>2];r=i[f+32>>2];k=r;s=i[f+12>>2]-(E+(e>>>0>>0)|0)|0;k=e-k|0;o=Jn(k,s,k,s);l=n+o|0;e=N+q|0;e=l>>>0>>0?e+1|0:e;F=l;m=i[f+52>>2];l=i[f+24>>2];n=i[f+48>>2];o=n;q=i[f+28>>2]-(m+(l>>>0>>0)|0)|0;l=l-o|0;v=Jn(l,q,l,q);o=F+v|0;e=N+e|0;t=o;o=o>>>0>>0?e+1|0:e;if(!(t|o)){break g}c=i[f+64>>2];u=c-b|0;G=i[f+68>>2]-((c>>>0>>0)+A|0)|0;b=Jn(u,G,h,p);c=N;e=b;b=i[f+56>>2];w=b-r|0;H=i[f+60>>2]-((b>>>0>>0)+E|0)|0;d=Jn(w,H,k,s);b=e+d|0;e=N+c|0;e=b>>>0>>0?e+1|0:e;d=b;b=i[f+72>>2];A=b-n|0;I=i[f+76>>2]-((b>>>0>>0)+m|0)|0;c=Jn(A,I,l,q);b=d+c|0;e=N+e|0;D=b;F=b;r=b>>>0>>0?e+1|0:e;J=r;e=q;b=e>>31;c=e>>31;e=b+e|0;n=c+l|0;if(n>>>0>>0){e=e+1|0}c=c^n;b=b^e;K=b;n=c;E=b;d=p;b=d>>31;d=d>>31;m=b;b=p+b|0;e=d;v=e+h|0;if(v>>>0>>0){b=b+1|0}d=d^v;b=b^m;M=b;v=b;e=s;b=e>>31;e=e>>31;P=n;Q=d;m=b+s|0;n=e+k|0;if(n>>>0>>0){m=m+1|0}e=e^n;d=e>>>0>>0;b=b^m;d=(b|0)<(M|0)?1:(b|0)<=(M|0)?d:0;e=d?Q:e;c=e>>>0>>0;b=d?v:b;c=(b|0)<(K|0)?1:(b|0)<=(K|0)?c:0;c=F>>>0>Ln(-1,2147483647,c?P:e,c?E:b)>>>0;b=N;if((J|0)>(b|0)?1:(J|0)>=(b|0)?c:0){break b}d=1;b=0;c=Kn(Jn(h,p,D,r),N,t,o);e=G-(N+(u>>>0>>0)|0)|0;c=u-c|0;c=Jn(c,e,c,e);h=N;n=c;c=Kn(Jn(k,s,D,r),N,t,o);e=H-(N+(w>>>0>>0)|0)|0;c=w-c|0;e=Jn(c,e,c,e);c=n+e|0;m=N+h|0;m=c>>>0>>0?m+1|0:m;k=c;c=Kn(Jn(D,r,l,q),N,t,o);e=I-(N+(A>>>0>>0)|0)|0;c=A-c|0;h=Jn(c,e,c,e);c=k+h|0;e=N+m|0;h=Jn(c,c>>>0>>0?e+1|0:e,t,o);c=N;k=c;if(!c&h>>>0<=1|c>>>0<0){break e}l=h;c=k;while(1){e=b<<1|d>>>31;d=d<<1;b=e;p=!c&l>>>0>7|c>>>0>0;l=(c&3)<<30|l>>>2;c=c>>>2|0;if(p){continue}break}break d}e=a;if(w){if((d|0)<=0){i[a+8>>2]=0;i[a+12>>2]=0;break f}b=(d<<1)+ -2|0}else{b=u<<1}b=(b<<2)+c|0;i[e+8>>2]=i[b>>2];i[a+12>>2]=i[b+4>>2]}O=1;break b}Wm();x()}b=k;d=h;if(d-1|0){break c}}while(1){c=Ln(h,k,d,b)+d|0;e=b+N|0;e=c>>>0>>0?e+1|0:e;d=(e&1)<<31|c>>>1;b=e>>>1|0;c=Jn(d,b,d,b);e=N;if((k|0)==(e|0)&c>>>0>h>>>0|e>>>0>k>>>0){continue}break}}k=i[a+20>>2];if(k){l=k+ -1|0;p=i[i[a+16>>2]+(l>>>3&536870908)>>2];i[a+20>>2]=l;c=B;e=y;s=c-e|0;q=e>>31;y=(c>>31)-(q+(c>>>0>>0)|0)|0;c=Jn(D,r,s,y);h=N;e=Jn(e,q,t,o);c=e+c|0;m=N+h|0;m=c>>>0>>0?m+1|0:m;n=c;c=C;h=z;e=h;q=c-e|0;B=e>>31;z=(c>>31)-(B+(c>>>0>>0)|0)|0;c=Jn(d,b,q,z);e=c;c=p>>>(l&31)&1;C=c?0-e|0:e;l=n+C|0;n=N;e=(c?0-(n+(0>>0)|0)|0:n)+m|0;R=a,S=Kn(l,l>>>0>>0?e+1|0:e,t,o),i[R+12>>2]=S;e=Jn(D,r,q,z);l=N;n=a;a=e;e=Jn(h,B,t,o);a=a+e|0;m=N+l|0;m=a>>>0>>0?m+1|0:m;e=a;a=Jn(d,b,s,y);d=c?a:0-a|0;b=e+d|0;e=N;a=(c?e:0-((0>>0)+e|0)|0)+m|0;R=n,S=Kn(b,b>>>0>>0?a+1|0:a,t,o),i[R+8>>2]=S}O=(k|0)!=0}L=f+80|0;return O}function yi(a,b,c,d){var e=0,f=0,o=0,q=0,r=0,s=p(0),t=0;a:{b:{c:{if(!d){break c}d:{switch(i[a+28>>2]+ -1|0){case 0:q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=g[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 1:q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=j[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 2:q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=h[b>>1];b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 3:q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=k[b>>1];b=b+2|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 4:q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=i[b>>2];b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 5:q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=i[b>>2];b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 6:q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}e=i[b>>2];if(l[b+4>>2]>0){break b}i[(f<<2)+d>>2]=e;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 7:q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}e=i[b>>2];if(l[b+4>>2]>0){break b}i[(f<<2)+d>>2]=e;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 8:q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}r=(f<<2)+d|0;s=m[b>>2];e:{if(s=p(0)){e=~~s>>>0;break e}e=0}i[r>>2]=e;b=b+4|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 9:q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}r=(f<<2)+d|0;t=n[b>>3];f:{if(t<4294967296&t>=0){e=~~t>>>0;break f}e=0}i[r>>2]=e;b=b+8|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}break a;case 10:break d;default:break c}}q=1;e=g[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){e=i[a>>2];o=i[e>>2];f=i[a+48>>2]+Jn(i[a+40>>2],i[a+44>>2],b,0)|0;b=o+f|0;o=i[e+4>>2];f=0;while(1){if(o>>>0<=b>>>0){break b}i[(f<<2)+d>>2]=j[b|0];b=b+1|0;f=f+1|0;e=g[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break c}tn((e<<2)+d|0,0,c-e<<2)}return q}return 0}tn((e<<2)+d|0,0,c-e<<2);return 1}function mg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0;m=L-16|0;L=m;a:{b:{c=i[a+144>>2];c=k[(O[i[i[c>>2]+32>>2]](c)|0)+36>>1];if((c<<24|c<<8&16711680)>>>16>>>0<=513){c=i[a+4>>2];i[a+40>>2]=i[a>>2];i[a+44>>2]=c;e=a+32|0;c=e;d=i[c+4>>2];i[a+72>>2]=i[c>>2];i[a+76>>2]=d;d=i[a+28>>2];c=a- -64|0;i[c>>2]=i[a+24>>2];i[c+4>>2]=d;c=i[a+20>>2];i[a+56>>2]=i[a+16>>2];i[a+60>>2]=c;c=i[a+12>>2];i[a+48>>2]=i[a+8>>2];i[a+52>>2]=c;c=a+40|0;if(!Eh(c,1,m+8|0)){break b}d=i[c+4>>2];i[a>>2]=i[c>>2];i[a+4>>2]=d;d=i[c+36>>2];i[e>>2]=i[c+32>>2];i[e+4>>2]=d;e=i[c+28>>2];i[a+24>>2]=i[c+24>>2];i[a+28>>2]=e;d=i[c+20>>2];g=d;e=i[c+16>>2];i[a+16>>2]=e;i[a+20>>2]=d;d=i[c+12>>2];f=d;c=i[c+8>>2];i[a+8>>2]=c;i[a+12>>2]=d;d=e;h=c-d|0;n=i[m+12>>2];c=f-((c>>>0>>0)+g|0)|0;d=i[m+8>>2];if((n|0)==(c|0)&d>>>0>h>>>0|n>>>0>c>>>0){break b}c=g+n|0;e=d+e|0;if(e>>>0>>0){c=c+1|0}i[a+16>>2]=e;i[a+20>>2]=c}c:{if(k[a+38>>1]<=513){c=i[a+4>>2];i[a+96>>2]=i[a>>2];i[a+100>>2]=c;e=a+32|0;c=e;d=i[c+4>>2];i[a+128>>2]=i[c>>2];i[a+132>>2]=d;d=a+24|0;c=d;f=i[c+4>>2];i[a+120>>2]=i[c>>2];i[a+124>>2]=f;f=a+16|0;c=f;g=i[c+4>>2];i[a+112>>2]=i[c>>2];i[a+116>>2]=g;g=a+8|0;c=g;h=i[c+4>>2];i[a+104>>2]=i[c>>2];i[a+108>>2]=h;c=a+96|0;if(!Eh(c,1,m+8|0)){break b}h=i[c+4>>2];i[a>>2]=i[c>>2];i[a+4>>2]=h;h=i[c+36>>2];i[e>>2]=i[c+32>>2];i[e+4>>2]=h;e=i[c+28>>2];i[d>>2]=i[c+24>>2];i[d+4>>2]=e;d=i[c+20>>2];h=d;e=i[c+16>>2];i[f>>2]=e;i[f+4>>2]=d;d=i[c+12>>2];f=d;c=i[c+8>>2];i[g>>2]=c;i[g+4>>2]=d;d=e;g=c-d|0;n=i[m+12>>2];d=f-((c>>>0>>0)+h|0)|0;c=i[m+8>>2];if((n|0)==(d|0)&c>>>0>g>>>0|n>>>0>d>>>0){break b}f=h+n|0;e=c+e|0;if(e>>>0>>0){f=f+1|0}i[a+16>>2]=e;i[a+20>>2]=f;break c}f=0;if(!Ce(a+80|0,a)){break a}}f=0;if(!ag(a)){break a}c=i[a+4>>2];i[b>>2]=i[a>>2];i[b+4>>2]=c;c=i[a+36>>2];i[b+32>>2]=i[a+32>>2];i[b+36>>2]=c;c=i[a+28>>2];i[b+24>>2]=i[a+24>>2];i[b+28>>2]=c;c=i[a+20>>2];i[b+16>>2]=i[a+16>>2];i[b+20>>2]=c;c=i[a+12>>2];i[b+8>>2]=i[a+8>>2];i[b+12>>2]=c;c=i[a+144>>2];c=k[(O[i[i[c>>2]+32>>2]](c)|0)+36>>1];d:{if((c<<24|c<<8&16711680)>>>16>>>0<=513){c=i[a+144>>2];e:{if(j[(O[i[i[c>>2]+32>>2]](c)|0)+36|0]<=1){d=i[b+12>>2];c=i[b+20>>2];g=i[b+16>>2];e=g+4|0;if(e>>>0<4){c=c+1|0}h=e;e=c;if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=g+i[b>>2]|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[m+8>>2]=c;i[b+16>>2]=h;i[b+20>>2]=e;break e}if(!Rf(1,m+8|0,b)){break a}c=i[m+8>>2]}d=c;c=i[a+152>>2];if(d>>>0>=c>>>0){break a}g=i[b+16>>2];d=i[b+12>>2];e=i[b+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?l[b+8>>2]<=g>>>0:0){break a}h=j[g+i[b>>2]|0];g=g+1|0;if(g>>>0<1){e=e+1|0}d=b;i[d+16>>2]=g;i[d+20>>2]=e;if(h){break a}i[a+176>>2]=2;i[a+180>>2]=7;break d}i[a+176>>2]=2;i[a+180>>2]=7;c=i[a+152>>2]}if((c|0)<0){break a}i[m+8>>2]=0;f=2;g=i[a+156>>2];d=i[a+160>>2]-g>>2;f:{if(c>>>0>d>>>0){Va(a+156|0,c-d|0,m+8|0);f=i[a+176>>2];e=i[a+180>>2];break f}e=7;if(c>>>0>=d>>>0){break f}i[a+160>>2]=g+(c<<2)}g=a+184|0;e=(e-f|0)+1|0;c=i[a+188>>2];f=i[a+184>>2];d=(c-f|0)/12|0;g:{if(e>>>0>d>>>0){og(g,e-d|0);e=i[a+188>>2];break g}if(e>>>0>=d>>>0){e=c;break g}e=f+o(e,12)|0;if((e|0)!=(c|0)){while(1){d=c+ -12|0;f=i[d>>2];if(f){i[c+ -8>>2]=f;qn(f)}c=d;if((c|0)!=(e|0)){continue}break}}i[a+188>>2]=e}h=a+196|0;c=i[a+184>>2];d=(e-c|0)/12|0;n=i[a+196>>2];f=i[a+200>>2]-n>>2;h:{if(d>>>0>f>>>0){Ta(h,d-f|0);c=i[a+184>>2];e=i[a+188>>2];break h}if(d>>>0>=f>>>0){break h}i[a+200>>2]=n+(d<<2)}f=1;if((c|0)==(e|0)){break a}c=0;while(1){if(!Rf(1,m+8|0,b)){break b}d=i[m+8>>2];e=i[a+148>>2];if(d>>>0>(i[e+4>>2]-i[e>>2]>>2>>>0)/3>>>0){break b}if(d){e=i[g>>2];q=o(c,12);f=e+q|0;n=i[f>>2];p=i[f+4>>2]-n>>2;i:{if(d>>>0>p>>>0){Ae(f,d-p|0);e=i[g>>2];break i}if(d>>>0>=p>>>0){break i}i[f+4>>2]=(d<<2)+n}Se(d,1,b,i[e+q>>2]);i[i[h>>2]+(c<<2)>>2]=d}f=1;c=c+1|0;if(c>>>0<(i[a+188>>2]-i[a+184>>2]|0)/12>>>0){continue}break}break a}f=0}L=m+16|0;return f}function Ig(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;a:{b:{c:{d:{e:{f:{g:{if(i[a+92>>2]==i[a+88>>2]){break g}e=i[a+52>>2];d=i[a+56>>2];h:{if((e|0)!=(d|0)){i[e>>2]=b;i[a+52>>2]=e+4;break h}j=i[a+48>>2];h=e-j|0;f=h>>2;g=f+1|0;if(g>>>0>=1073741824){break a}c=d-j|0;d=c>>1;c=c>>2>>>0<536870911?d>>>0>>0?g:d:1073741823;e=0;i:{if(!c){break i}if(c>>>0>=1073741824){break b}e=Gm(c<<2)}d=e+(f<<2)|0;i[d>>2]=b;c=e+(c<<2)|0;d=d+4|0;if((h|0)>=1){sn(e,j,h)}i[a+56>>2]=c;i[a+52>>2]=d;i[a+48>>2]=e;if(!j){break h}qn(j)}i[a+84>>2]=0;d=-1;e=-1;j:{if((b|0)==-1){break j}f=i[a+4>>2];c=b+1|0;c=(c>>>0)%3|0?c:b+ -2|0;if((c|0)!=-1){d=i[i[f>>2]+(c<<2)>>2]}c=((b>>>0)%3|0?-1:2)+b|0;if((c|0)==-1){break j}e=i[i[f>>2]+(c<<2)>>2]}c=i[a+36>>2];h=c+(d>>>3&536870908)|0;g=i[h>>2];f=1<<(d&31);if(!(g&f)){i[h>>2]=f|g;f=a+8|0;if((b|0)!=-1){c=b+1|0;c=(c>>>0)%3|0?c:b+ -2|0}else{c=-1}Jg(f,d,c);c=i[a+36>>2]}f=(e>>>3&536870908)+c|0;c=i[f>>2];d=1<<(e&31);if(!(c&d)){i[f>>2]=c|d;c=a+8|0;d=-1;k:{if((b|0)==-1){break k}d=b+ -1|0;if((b>>>0)%3|0){break k}d=b+2|0}Jg(c,e,d)}d=-1;d=(b|0)!=-1?i[i[i[a+4>>2]>>2]+(b<<2)>>2]:d;f=i[a+36>>2]+(d>>>3&536870908)|0;c=i[f>>2];e=1<<(d&31);if(!(c&e)){i[f>>2]=c|e;Jg(a+8|0,d,b)}c=i[a+84>>2];if((c|0)>2){break g}q=a+8|0;while(1){b=o(c,12)+a|0;d=b+52|0;e=i[d>>2];if((e|0)==i[b+48>>2]){c=c+1|0;if((c|0)!=3){continue}break g}e=e+ -4|0;b=i[e>>2];i[d>>2]=e;i[a+84>>2]=c;if((b|0)==-1){break g}d=i[a+24>>2];e=(b>>>0)/3|0;l:{if(i[d+(e>>>3&268435452)>>2]>>>(e&31)&1){break l}m:{while(1){g=(b>>>0)/3|0;e=(g>>>3&268435452)+d|0;i[e>>2]=i[e>>2]|1<<(g&31);d=-1;d=(b|0)!=-1?i[i[i[a+4>>2]>>2]+(b<<2)>>2]:d;f=i[a+36>>2]+(d>>>3&536870908)|0;c=i[f>>2];e=1<<(d&31);if(!(c&e)){i[f>>2]=c|e;Jg(q,d,b)}if((b|0)==-1){break m}h=i[a+4>>2];e=-1;d=-1;c=b+1|0;c=(c>>>0)%3|0?c:b+ -2|0;if((c|0)!=-1){d=i[i[h+12>>2]+(c<<2)>>2]}b=(b-o(g,3)|0?-1:2)+b|0;if((b|0)!=-1){e=i[i[h+12>>2]+(b<<2)>>2]}g=(e|0)==-1;f=(e>>>0)/3|0;c=(d>>>0)/3|0;n:{o:{p:{q:{b=(d|0)==-1;if(!b){b=b?-1:c;b=i[i[a+24>>2]+(b>>>3&536870908)>>2]&1<<(b&31);if(g){break q}p=(b|0)!=0;break p}p=1;if(!g){break p}break m}if(!b){break o}break m}b=g?-1:f;r:{if(i[i[a+24>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1){break r}b=0;c=i[i[h>>2]+(e<<2)>>2];if(!(i[i[a+36>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1)){b=i[a+88>>2]+(c<<2)|0;c=i[b>>2];i[b>>2]=c+1;b=(c|0)<1?2:1}if(!(!p|(b|0)>i[a+84>>2])){b=e;d=i[a+24>>2];continue}c=o(b,12)+a|0;k=c+52|0;g=i[k>>2];n=c+56|0;f=i[n>>2];s:{if((g|0)!=(f|0)){i[g>>2]=e;i[k>>2]=g+4;break s}j=c+48|0;h=i[j>>2];l=g-h|0;c=l>>2;m=c+1|0;if(m>>>0>=1073741824){break f}r=c<<2;g=f-h|0;f=g>>1;f=g>>2>>>0<536870911?f>>>0>>0?m:f:1073741823;c=0;t:{if(!f){break t}if(f>>>0>=1073741824){break e}c=Gm(f<<2)}g=r+c|0;i[g>>2]=e;f=c+(f<<2)|0;e=g+4|0;if((l|0)>=1){sn(c,h,l)}i[j>>2]=c;i[k>>2]=e;i[n>>2]=f;if(!h){break s}qn(h)}if(i[a+84>>2]<=(b|0)){break r}i[a+84>>2]=b}if(p){break m}b=-1;if((d|0)==-1){break n}}b=i[i[i[a+4>>2]>>2]+(d<<2)>>2]}e=0;if(!(i[i[a+36>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1)){b=i[a+88>>2]+(b<<2)|0;e=i[b>>2];i[b>>2]=e+1;e=(e|0)<1?2:1}if((e|0)<=i[a+84>>2]){b=d;d=i[a+24>>2];continue}break}b=o(e,12)+a|0;l=b+52|0;f=i[l>>2];j=b+56|0;c=i[j>>2];u:{if((f|0)!=(c|0)){i[f>>2]=d;i[l>>2]=f+4;break u}h=b+48|0;k=i[h>>2];m=f-k|0;g=m>>2;n=g+1|0;if(n>>>0>=1073741824){break d}f=c-k|0;c=f>>1;c=f>>2>>>0<536870911?c>>>0>>0?n:c:1073741823;b=0;v:{if(!c){break v}if(c>>>0>=1073741824){break c}b=Gm(c<<2)}f=b+(g<<2)|0;i[f>>2]=d;c=b+(c<<2)|0;d=f+4|0;if((m|0)>=1){sn(b,k,m)}i[h>>2]=b;i[l>>2]=d;i[j>>2]=c;if(!k){break u}qn(k)}c=i[a+84>>2];if((c|0)<=(e|0)){break l}i[a+84>>2]=e;c=e;break l}c=i[a+84>>2]}if((c|0)<3){continue}break}}return 1}Vm();x()}Da(12220);x()}Vm();x()}Da(12220);x()}Da(12220);x()}Vm();x()}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=L-80|0;L=e;a:{b:{n=i[a+4>>2];c=i[n+32>>2];u=i[c+8>>2];q=i[c+16>>2];t=i[c+12>>2];d=t;h=i[c+20>>2];l=h;c:{if((d|0)<(l|0)?1:(d|0)<=(l|0)?u>>>0<=q>>>0:0){break c}r=i[c>>2];m=j[r+q|0];d=h;p=q+1|0;if(p>>>0<1){d=d+1|0}l=c;i[c+16>>2]=p;i[c+20>>2]=d;if((t|0)<(d|0)?1:(t|0)<=(d|0)?u>>>0<=p>>>0:0){break c}p=j[p+r|0];d=h;v=q+2|0;if(v>>>0<2){d=d+1|0}i[c+16>>2]=v;i[l+20>>2]=d;l=m<<24>>24;d:{if((l|0)>=0){s=i[a+216>>2];if((i[a+220>>2]-s|0)/144>>>0<=m>>>0){break c}s=s+o(m,144)|0;if(i[s>>2]<=-1){break d}break c}if(i[a+212>>2]>-1){break c}s=a+212|0}i[s>>2]=b;e:{f:{s=k[n+36>>1];g:{if((s<<24|s<<8&16711680)>>>16>>>0>=258){if((t|0)<(d|0)?1:(t|0)<=(d|0)?u>>>0<=v>>>0:0){break c}d=j[r+v|0];q=q+3|0;if(q>>>0<3){h=h+1|0}i[c+16>>2]=q;i[c+20>>2]=h;if(d>>>0>1){break c}if(!p){break g}if((d|0)==1){break c}break f}if(p){break f}d=0}if((l|0)<=-1){c=a+184|0}else{c=i[a+216>>2]+o(m,144)|0;g[c+100|0]=0;c=c+104|0}h:{i:{switch(d|0){case 0:Jf(e+16|0,a,c);break h;case 1:break i;default:break c}}Kf(e+16|0,a,c)}c=i[e+16>>2];if(!c){break c}break e}if((l|0)<0){break c}h=i[n+44>>2];f=i[a+216>>2];c=Gm(80);i[c+12>>2]=0;i[c+16>>2]=0;i[c>>2]=13076;i[c+4>>2]=0;i[c+76>>2]=0;i[c+68>>2]=h;i[c+64>>2]=0;i[c+56>>2]=0;i[c+60>>2]=0;i[c+8>>2]=11956;d=c+20|0;i[d>>2]=0;i[d+4>>2]=0;q=c+28|0;l=q;i[l>>2]=0;i[l+4>>2]=0;i[c+36>>2]=0;i[c+40>>2]=0;l=c+44|0;i[l>>2]=0;i[l+4>>2]=0;i[c+52>>2]=0;f=f+o(m,144)|0;m=f+104|0;i[c+72>>2]=m;t=e+56|0;n=t;i[n>>2]=0;i[n+4>>2]=0;i[e+48>>2]=0;i[e+52>>2]=0;n=e+40|0;i[n>>2]=0;i[n+4>>2]=0;u=e+32|0;r=u;i[r>>2]=0;i[r+4>>2]=0;r=e+24|0;p=r;i[p>>2]=0;i[p+4>>2]=0;i[e+72>>2]=0;i[e+64>>2]=0;i[e+68>>2]=0;i[e+16>>2]=11956;p=f+4|0;i[e+20>>2]=p;f=i[f+68>>2];v=i[f>>2];f=i[f+4>>2];g[e+79|0]=0;Lf(n,(f-v>>2>>>0)/3|0,e+79|0);f=i[e+20>>2];n=i[f+56>>2];f=i[f+52>>2];g[e+79|0]=0;Lf(e+52|0,n-f>>2,e+79|0);i[e+36>>2]=c;i[u>>2]=h;h=e+28|0;i[h>>2]=m;i[r>>2]=p;i[q>>2]=c;f=i[h+4>>2];i[d>>2]=i[h>>2];i[d+4>>2]=f;h=i[e+24>>2];i[c+12>>2]=i[e+20>>2];i[c+16>>2]=h;h=c;f=i[e+44>>2];if(f){d=c+32|0;j:{if(f>>>0<=i[c+40>>2]<<5>>>0){m=f+ -1>>>5|0;f=i[d>>2];break j}d=i[d>>2];if(d){qn(d);i[c+40>>2]=0;i[c+32>>2]=0;i[c+36>>2]=0;f=i[e+44>>2]}if((f|0)<=-1){break b}m=f+ -1>>>5|0;d=m+1|0;f=Gm(d<<2);i[c+40>>2]=d;i[c+36>>2]=0;i[c+32>>2]=f}un(f,i[e+40>>2],(m<<2)+4|0);d=i[e+44>>2]}else{d=0}i[h+36>>2]=d;h=c;f=i[t>>2];if(f){k:{if(f>>>0<=i[c+52>>2]<<5>>>0){d=f+ -1>>>5|0;f=i[l>>2];break k}d=i[l>>2];if(d){qn(d);i[c+52>>2]=0;i[c+44>>2]=0;i[c+48>>2]=0;f=i[e+56>>2]}if((f|0)<=-1){break a}d=f+ -1>>>5|0;l=d+1|0;f=Gm(l<<2);i[c+52>>2]=l;i[c+48>>2]=0;i[c+44>>2]=f}un(f,i[e+52>>2],(d<<2)+4|0);l=i[e+56>>2]}else{l=0}i[h+48>>2]=l;Oa(c+56|0,i[e+64>>2],i[e+68>>2]);i[e+16>>2]=11956;h=i[e+64>>2];if(h){i[e+68>>2]=h;qn(h)}i[e+16>>2]=12208;h=i[e+52>>2];if(h){qn(h)}h=i[e+40>>2];if(!h){break e}qn(h)}h=Gm(64);i[e+8>>2]=c;bc(h,e+8|0);c=i[e+8>>2];i[e+8>>2]=0;if(c){O[i[i[c>>2]+4>>2]](c)}if((b|0)>=0){a=i[a+4>>2];f=a+8|0;c=i[a+12>>2];m=i[a+8>>2];d=c-m>>2;l:{if((d|0)>(b|0)){break l}l=b+1|0;if(d>>>0<=b>>>0){Mf(f,l-d|0);break l}if(l>>>0>=d>>>0){break l}l=m+(l<<2)|0;if((l|0)!=(c|0)){while(1){c=c+ -4|0;d=i[c>>2];i[c>>2]=0;if(d){O[i[i[d>>2]+4>>2]](d)}if((c|0)!=(l|0)){continue}break}}i[a+12>>2]=l}b=i[f>>2]+(b<<2)|0;a=i[b>>2];i[b>>2]=h;f=1;if(!a){break c}O[i[i[a>>2]+4>>2]](a);break c}O[i[i[h>>2]+4>>2]](h);f=0}L=e+80|0;return f|0}Vm();x()}Vm();x()}function Kc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;i[a+8>>2]=e;f=a+32|0;g=i[f>>2];d=i[a+36>>2]-g>>2;a:{if(d>>>0>>0){Ta(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}i[a+36>>2]=g+(e<<2)}g=0;d=(e&1073741823)!=(e|0)?-1:e<<2;n=tn(Gm(d),0,d);s=tn(Gm(d),0,d);h=i[a+8>>2];b:{if((h|0)<1){break b}while(1){d=g<<2;f=i[d+n>>2];h=i[a+16>>2];c:{if((f|0)>(h|0)){k=i[a+32>>2];i[d+k>>2]=h;break c}k=i[a+32>>2];d=d+k|0;h=i[a+12>>2];if((f|0)<(h|0)){i[d>>2]=h;break c}i[d>>2]=f}g=g+1|0;h=i[a+8>>2];if((g|0)<(h|0)){continue}break}if((h|0)<1){break b}d=0;while(1){g=d<<2;f=g+c|0;g=i[b+g>>2]+i[g+k>>2]|0;i[f>>2]=g;d:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break d}g=g+i[a+20>>2]|0}i[f>>2]=g}d=d+1|0;h=i[a+8>>2];if((d|0)<(h|0)){continue}break}}d=i[a+56>>2];t=i[d>>2];d=i[d+4>>2]-t|0;if((d|0)>=5){p=i[a+48>>2];d=d>>2;v=(d|0)>2?d:2;w=d>>>0>1?d:1;y=e<<2;z=i[a+52>>2];m=1;while(1){e:{f:{g:{if((m|0)!=(w|0)){f=i[(m<<2)+t>>2];u=(e|0)<1;if(!u){tn(n,0,y)}if((f|0)==-1){f=o(e,m);break f}A=i[p>>2];k=0;d=f;while(1){h:{if(i[A+(d>>>3&536870908)>>2]>>>(d&31)&1){break h}g=i[i[i[p+64>>2]+12>>2]+(d<<2)>>2];if((g|0)==-1){break h}l=i[z>>2];j=i[p+28>>2];r=i[l+(i[j+(g<<2)>>2]<<2)>>2];if((r|0)>=(m|0)){break h}q=g+1|0;q=i[l+(i[j+(((q>>>0)%3|0?q:g+ -2|0)<<2)>>2]<<2)>>2];if((q|0)>=(m|0)){break h}g=i[l+(i[j+(g+((g>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((g|0)>=(m|0)){break h}i:{if(u){break i}j=o(e,g);l=o(e,q);r=o(e,r);g=0;while(1){i[s+(g<<2)>>2]=(i[(g+j<<2)+c>>2]+i[(g+l<<2)+c>>2]|0)-i[(g+r<<2)+c>>2];g=g+1|0;if((g|0)!=(e|0)){continue}break}g=0;if((e|0)<=0){break i}while(1){j=g<<2;l=j+n|0;i[l>>2]=i[l>>2]+i[j+s>>2];g=g+1|0;if((g|0)!=(e|0)){continue}break}}k=k+1|0}g=-1;d=((d>>>0)%3|0?-1:2)+d|0;j:{if((d|0)==-1|i[i[p>>2]+(d>>>3&536870908)>>2]>>>(d&31)&1){break j}d=i[i[i[p+64>>2]+12>>2]+(d<<2)>>2];if((d|0)==-1){break j}if((d>>>0)%3|0){g=d+ -1|0;break j}g=d+2|0}d=(f|0)==(g|0)?-1:g;if((d|0)!=-1){continue}break}f=o(e,m);if(!k){break f}g=0;if((e|0)<=0){break g}while(1){d=(g<<2)+n|0;i[d>>2]=i[d>>2]/(k|0);g=g+1|0;if((g|0)!=(e|0)){continue}break}break g}Wm();x()}if((h|0)<1){break e}g=0;while(1){d=g<<2;h=i[d+n>>2];j=i[a+16>>2];k:{if((h|0)>(j|0)){k=i[a+32>>2];i[d+k>>2]=j;break k}k=i[a+32>>2];d=d+k|0;j=i[a+12>>2];if((h|0)<(j|0)){i[d>>2]=j;break k}i[d>>2]=h}g=g+1|0;h=i[a+8>>2];if((g|0)<(h|0)){continue}break}d=0;if((h|0)<1){break e}f=f<<2;j=f+c|0;l=b+f|0;while(1){g=d<<2;f=g+j|0;g=i[g+l>>2]+i[g+k>>2]|0;i[f>>2]=g;l:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break l}g=g+i[a+20>>2]|0}i[f>>2]=g}d=d+1|0;h=i[a+8>>2];if((d|0)<(h|0)){continue}break}break e}if((h|0)<1){break e}j=(o(m+ -1|0,e)<<2)+c|0;g=0;while(1){d=g<<2;h=i[d+j>>2];l=i[a+16>>2];m:{if((h|0)>(l|0)){k=i[a+32>>2];i[d+k>>2]=l;break m}k=i[a+32>>2];d=d+k|0;l=i[a+12>>2];if((h|0)<(l|0)){i[d>>2]=l;break m}i[d>>2]=h}g=g+1|0;h=i[a+8>>2];if((g|0)<(h|0)){continue}break}d=0;if((h|0)<1){break e}f=f<<2;j=f+c|0;l=b+f|0;while(1){g=d<<2;f=g+j|0;g=i[g+l>>2]+i[g+k>>2]|0;i[f>>2]=g;n:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break n}g=g+i[a+20>>2]|0}i[f>>2]=g}d=d+1|0;h=i[a+8>>2];if((d|0)<(h|0)){continue}break}}m=m+1|0;if((v|0)!=(m|0)){continue}break}}qn(s);qn(n);return 1}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=L-96|0;L=f;e=i[a+16>>2];g[f+92|0]=1;i[f+88>>2]=b;i[f+84>>2]=b;i[f+80>>2]=e;d=-1;d=(b|0)!=-1?i[i[e>>2]+(b<<2)>>2]:d;h=i[a+20>>2];e=i[h>>2];a:{b:{if(i[h+4>>2]-e>>2>>>0>d>>>0){e=i[i[a+8>>2]+(i[e+(d<<2)>>2]<<2)>>2];d=i[a+4>>2];if(!j[d+84|0]){e=i[i[d+68>>2]+(e<<2)>>2]}i[f+72>>2]=0;i[f+76>>2]=0;h=f- -64|0;i[h>>2]=0;i[h+4>>2]=0;i[f+56>>2]=0;i[f+60>>2]=0;id(d,e,g[d+24|0],f+56|0);if((b|0)!=-1){d=b+1|0;h=(d>>>0)%3|0?d:b+ -2|0;m=((b>>>0)%3|0?-1:2)+b|0;n=f+48|0;o=f+40|0;while(1){e=h;d=m;c:{if(!i[a+28>>2]){break c}d=b+1|0;e=(d>>>0)%3|0?d:b+ -2|0;d=b+ -1|0;if((b>>>0)%3|0){break c}d=b+2|0}b=-1;b=(e|0)!=-1?i[i[i[a+16>>2]>>2]+(e<<2)>>2]:b;k=i[a+20>>2];e=i[k>>2];if(i[k+4>>2]-e>>2>>>0<=b>>>0){break b}e=i[i[a+8>>2]+(i[e+(b<<2)>>2]<<2)>>2];b=i[a+4>>2];if(!j[b+84|0]){e=i[i[b+68>>2]+(e<<2)>>2]}i[n>>2]=0;i[n+4>>2]=0;i[o>>2]=0;i[o+4>>2]=0;i[f+32>>2]=0;i[f+36>>2]=0;id(b,e,g[b+24|0],f+32|0);b=-1;b=(d|0)!=-1?i[i[i[a+16>>2]>>2]+(d<<2)>>2]:b;e=i[a+20>>2];d=i[e>>2];if(i[e+4>>2]-d>>2>>>0<=b>>>0){break a}d=i[i[a+8>>2]+(i[d+(b<<2)>>2]<<2)>>2];b=i[a+4>>2];if(!j[b+84|0]){d=i[i[b+68>>2]+(d<<2)>>2]}e=f+24|0;i[e>>2]=0;i[e+4>>2]=0;k=f+16|0;i[k>>2]=0;i[k+4>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;id(b,d,g[b+24|0],f+8|0);d=i[f+8>>2];b=i[f+56>>2];s=d-b|0;y=i[f+60>>2];t=i[f+12>>2]-(y+(d>>>0>>0)|0)|0;z=i[f+40>>2];d=i[f+64>>2];D=z-d|0;A=i[f+68>>2];z=i[f+44>>2]-(A+(z>>>0>>0)|0)|0;B=Jn(s,t,D,z);C=l-B|0;u=u-(N+(l>>>0>>0)|0)|0;l=i[k>>2];B=l-d|0;k=i[k+4>>2]-((l>>>0>>0)+A|0)|0;l=i[f+32>>2];A=l-b|0;y=i[f+36>>2]-((l>>>0>>0)+y|0)|0;d=Jn(B,k,A,y);l=d+C|0;b=N+u|0;b=l>>>0>>0?b+1|0:b;u=b;E=p;w=s;F=t;b=i[f+48>>2];p=i[f+72>>2];d=p;t=b-d|0;s=i[f+76>>2];C=i[f+52>>2]-(s+(b>>>0>>0)|0)|0;w=Jn(w,F,t,C);d=E+w|0;b=N+q|0;b=d>>>0>>0?b+1|0:b;q=i[e>>2];w=q-p|0;e=i[e+4>>2]-((q>>>0

>>0)+s|0)|0;q=Jn(w,e,A,y);p=d-q|0;q=b-(N+(d>>>0>>0)|0)|0;b=Jn(B,k,t,C);d=r-b|0;b=v-(N+(r>>>0>>0)|0)|0;v=Jn(w,e,D,z);r=v+d|0;b=N+b|0;b=r>>>0>>0?b+1|0:b;v=b;Ld(f+80|0);b=i[f+88>>2];if((b|0)!=-1){continue}break}}d=v;b=d>>31;d=d>>31;h=b;b=v+b|0;m=d+r|0;if(m>>>0>>0){b=b+1|0}o=d^m;n=b^h;t=-1;e=2147483647;d=q;b=d>>31;d=d>>31;m=b;b=q+b|0;k=d+p|0;if(k>>>0>>0){b=b+1|0}d=d^k;b=b^m;h=b;m=d^-1;b=b^2147483647;d:{if(!i[a+28>>2]){if((b|0)==(n|0)&o>>>0>m>>>0|n>>>0>b>>>0){break d}b=h+n|0;a=d+o|0;if(a>>>0>>0){b=b+1|0}d=b;h=a;b=u;e=b>>31;o=b>>31;b=o+b|0;k=e+l|0;if(k>>>0>>0){b=b+1|0}e=e^k;m=b^o;n=e+h|0;b=n;h=m^2147483647;a=(h|0)==(d|0)&a>>>0>(e^-1)>>>0|d>>>0>h>>>0;d=a?0:0;b=a?-1:b;a=b;if((b|0)<536870912?1:(b|0)<=536870912?d>>>0<1:0){break d}b=(a|0)/536870912|0;a=b;b=b>>31;l=Kn(l,u,a,b);p=Kn(p,q,a,b);r=Kn(r,v,a,b);break d}e:{if((b|0)==(n|0)&o>>>0>m>>>0|n>>>0>b>>>0){break e}b=h+n|0;a=d+o|0;if(a>>>0>>0){b=b+1|0}m=b;n=a;d=b;h=u;b=h>>31;h=h>>31;k=b;b=u+b|0;s=h+l|0;if(s>>>0>>0){b=b+1|0}h=h^s;b=b^k;o=b;b=b^2147483647;if((b|0)==(d|0)&n>>>0>(h^-1)>>>0|d>>>0>b>>>0){break e}b=m+o|0;d=a+h|0;if(d>>>0>>0){b=b+1|0}t=d;e=b;if(!b&d>>>0<536870913|b>>>0<0){break d}}a=(e&536870911)<<3|t>>>29;b=e>>>29|0;l=Kn(l,u,a,b);p=Kn(p,q,a,b);r=Kn(r,v,a,b)}i[c+8>>2]=l;i[c+4>>2]=p;i[c>>2]=r;L=f+96|0;return}Wm();x()}Wm();x()}Wm();x()}function zc(a,b,c,d,e,f){var g=0,h=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{switch(b+ -1|0){case 0:b=Gm(60);i[b+4>>2]=c;i[b>>2]=3088;c=i[d+8>>2];f=i[d+12>>2];g=i[d+16>>2];h=i[d+20>>2];j=i[d>>2];k=i[d+4>>2];i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=g;i[b+28>>2]=h;i[b+16>>2]=c;i[b+20>>2]=f;i[b+8>>2]=j;i[b+12>>2]=k;g=i[d+24>>2];f=i[d+28>>2]-g|0;if(f){d=f>>2;if(d>>>0>=1073741824){break f}c=Gm(f);i[b+32>>2]=c;i[b+36>>2]=c;i[b+40>>2]=c+(d<<2);d=b;if((f|0)>=1){c=sn(c,g,f)+f|0}i[d+36>>2]=c}c=i[e+4>>2];i[b+44>>2]=i[e>>2];i[b+48>>2]=c;c=i[e+12>>2];i[b+52>>2]=i[e+8>>2];i[b+56>>2]=c;i[b>>2]=2380;break a;case 1:b=Gm(60);i[b+4>>2]=c;i[b>>2]=3088;c=i[d+8>>2];f=i[d+12>>2];g=i[d+16>>2];h=i[d+20>>2];j=i[d>>2];k=i[d+4>>2];i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=g;i[b+28>>2]=h;i[b+16>>2]=c;i[b+20>>2]=f;i[b+8>>2]=j;i[b+12>>2]=k;g=i[d+24>>2];f=i[d+28>>2]-g|0;if(f){d=f>>2;if(d>>>0>=1073741824){break e}c=Gm(f);i[b+32>>2]=c;i[b+36>>2]=c;i[b+40>>2]=c+(d<<2);d=b;if((f|0)>=1){c=sn(c,g,f)+f|0}i[d+36>>2]=c}c=i[e+4>>2];i[b+44>>2]=i[e>>2];i[b+48>>2]=c;c=i[e+12>>2];i[b+52>>2]=i[e+8>>2];i[b+56>>2]=c;i[b>>2]=3144;break a;case 3:b=Gm(112);i[b+4>>2]=c;i[b>>2]=3088;c=i[d+8>>2];f=i[d+12>>2];g=i[d+16>>2];h=i[d+20>>2];j=i[d>>2];k=i[d+4>>2];i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=g;i[b+28>>2]=h;i[b+16>>2]=c;i[b+20>>2]=f;i[b+8>>2]=j;i[b+12>>2]=k;g=i[d+24>>2];f=i[d+28>>2]-g|0;if(f){d=f>>2;if(d>>>0>=1073741824){break d}c=Gm(f);i[b+32>>2]=c;i[b+36>>2]=c;i[b+40>>2]=c+(d<<2);d=b;if((f|0)>=1){c=sn(c,g,f)+f|0}i[d+36>>2]=c}c=i[e+4>>2];i[b+44>>2]=i[e>>2];i[b+48>>2]=c;c=i[e+12>>2];i[b+52>>2]=i[e+8>>2];i[b+56>>2]=c;i[b+60>>2]=0;i[b+64>>2]=0;i[b>>2]=3380;i[b+68>>2]=0;i[b+72>>2]=0;i[b+76>>2]=0;i[b+80>>2]=0;i[b+84>>2]=0;i[b+88>>2]=0;i[b+92>>2]=0;i[b+96>>2]=0;i[b+100>>2]=0;i[b+104>>2]=0;i[b+108>>2]=0;break a;case 2:b=Gm(92);i[b+4>>2]=c;i[b>>2]=3088;c=i[d+8>>2];g=i[d+12>>2];h=i[d+16>>2];j=i[d+20>>2];k=i[d>>2];l=i[d+4>>2];i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=h;i[b+28>>2]=j;i[b+16>>2]=c;i[b+20>>2]=g;i[b+8>>2]=k;i[b+12>>2]=l;h=i[d+24>>2];g=i[d+28>>2]-h|0;if(g){d=g>>2;if(d>>>0>=1073741824){break c}c=Gm(g);i[b+32>>2]=c;i[b+36>>2]=c;i[b+40>>2]=c+(d<<2);d=b;if((g|0)>=1){c=sn(c,h,g)+g|0}i[d+36>>2]=c}c=i[e+4>>2];i[b+44>>2]=i[e>>2];i[b+48>>2]=c;c=i[e+12>>2];i[b+52>>2]=i[e+8>>2];i[b+56>>2]=c;i[b+60>>2]=0;i[b+64>>2]=0;i[b>>2]=3628;i[b+68>>2]=0;i[b+72>>2]=0;i[b+76>>2]=0;i[b+80>>2]=0;i[b+84>>2]=0;i[b+88>>2]=f;break a;case 4:b=Gm(104);i[b+4>>2]=c;i[b>>2]=3088;c=i[d+8>>2];f=i[d+12>>2];g=i[d+16>>2];h=i[d+20>>2];j=i[d>>2];k=i[d+4>>2];i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=g;i[b+28>>2]=h;i[b+16>>2]=c;i[b+20>>2]=f;i[b+8>>2]=j;i[b+12>>2]=k;g=i[d+24>>2];f=i[d+28>>2]-g|0;if(f){d=f>>2;if(d>>>0>=1073741824){break b}c=Gm(f);i[b+32>>2]=c;i[b+36>>2]=c;i[b+40>>2]=c+(d<<2);d=b;if((f|0)>=1){c=sn(c,g,f)+f|0}i[d+36>>2]=c}c=i[e+4>>2];i[b+44>>2]=i[e>>2];i[b+48>>2]=c;c=e+8|0;d=i[c>>2];f=i[c+4>>2];i[b+84>>2]=0;i[b+76>>2]=0;i[b+80>>2]=0;i[b+60>>2]=0;i[b+64>>2]=0;i[b>>2]=3856;i[b+52>>2]=d;i[b+56>>2]=f;d=i[e+4>>2];i[b+88>>2]=i[e>>2];i[b+92>>2]=d;d=i[c+4>>2];i[b+96>>2]=i[c>>2];i[b+100>>2]=d;break a;case 5:g=Gm(128);Bc(g,c,d,e);break;default:break g}}i[a>>2]=g;return}Vm();x()}Vm();x()}Vm();x()}Vm();x()}Vm();x()}i[a>>2]=b}function Ac(a,b,c,d,e,f){var g=0,h=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{switch(b+ -1|0){case 0:b=Gm(60);i[b+4>>2]=c;i[b>>2]=3088;c=i[d+8>>2];f=i[d+12>>2];g=i[d+16>>2];h=i[d+20>>2];j=i[d>>2];k=i[d+4>>2];i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=g;i[b+28>>2]=h;i[b+16>>2]=c;i[b+20>>2]=f;i[b+8>>2]=j;i[b+12>>2]=k;g=i[d+24>>2];f=i[d+28>>2]-g|0;if(f){d=f>>2;if(d>>>0>=1073741824){break f}c=Gm(f);i[b+32>>2]=c;i[b+36>>2]=c;i[b+40>>2]=c+(d<<2);d=b;if((f|0)>=1){c=sn(c,g,f)+f|0}i[d+36>>2]=c}c=i[e+4>>2];i[b+44>>2]=i[e>>2];i[b+48>>2]=c;c=i[e+12>>2];i[b+52>>2]=i[e+8>>2];i[b+56>>2]=c;i[b>>2]=4748;break a;case 1:b=Gm(60);i[b+4>>2]=c;i[b>>2]=3088;c=i[d+8>>2];f=i[d+12>>2];g=i[d+16>>2];h=i[d+20>>2];j=i[d>>2];k=i[d+4>>2];i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=g;i[b+28>>2]=h;i[b+16>>2]=c;i[b+20>>2]=f;i[b+8>>2]=j;i[b+12>>2]=k;g=i[d+24>>2];f=i[d+28>>2]-g|0;if(f){d=f>>2;if(d>>>0>=1073741824){break e}c=Gm(f);i[b+32>>2]=c;i[b+36>>2]=c;i[b+40>>2]=c+(d<<2);d=b;if((f|0)>=1){c=sn(c,g,f)+f|0}i[d+36>>2]=c}c=i[e+4>>2];i[b+44>>2]=i[e>>2];i[b+48>>2]=c;c=i[e+12>>2];i[b+52>>2]=i[e+8>>2];i[b+56>>2]=c;i[b>>2]=5172;break a;case 3:b=Gm(112);i[b+4>>2]=c;i[b>>2]=3088;c=i[d+8>>2];f=i[d+12>>2];g=i[d+16>>2];h=i[d+20>>2];j=i[d>>2];k=i[d+4>>2];i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=g;i[b+28>>2]=h;i[b+16>>2]=c;i[b+20>>2]=f;i[b+8>>2]=j;i[b+12>>2]=k;g=i[d+24>>2];f=i[d+28>>2]-g|0;if(f){d=f>>2;if(d>>>0>=1073741824){break d}c=Gm(f);i[b+32>>2]=c;i[b+36>>2]=c;i[b+40>>2]=c+(d<<2);d=b;if((f|0)>=1){c=sn(c,g,f)+f|0}i[d+36>>2]=c}c=i[e+4>>2];i[b+44>>2]=i[e>>2];i[b+48>>2]=c;c=i[e+12>>2];i[b+52>>2]=i[e+8>>2];i[b+56>>2]=c;i[b+60>>2]=0;i[b+64>>2]=0;i[b>>2]=5396;i[b+68>>2]=0;i[b+72>>2]=0;i[b+76>>2]=0;i[b+80>>2]=0;i[b+84>>2]=0;i[b+88>>2]=0;i[b+92>>2]=0;i[b+96>>2]=0;i[b+100>>2]=0;i[b+104>>2]=0;i[b+108>>2]=0;break a;case 2:b=Gm(92);i[b+4>>2]=c;i[b>>2]=3088;c=i[d+8>>2];g=i[d+12>>2];h=i[d+16>>2];j=i[d+20>>2];k=i[d>>2];l=i[d+4>>2];i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=h;i[b+28>>2]=j;i[b+16>>2]=c;i[b+20>>2]=g;i[b+8>>2]=k;i[b+12>>2]=l;h=i[d+24>>2];g=i[d+28>>2]-h|0;if(g){d=g>>2;if(d>>>0>=1073741824){break c}c=Gm(g);i[b+32>>2]=c;i[b+36>>2]=c;i[b+40>>2]=c+(d<<2);d=b;if((g|0)>=1){c=sn(c,h,g)+g|0}i[d+36>>2]=c}c=i[e+4>>2];i[b+44>>2]=i[e>>2];i[b+48>>2]=c;c=i[e+12>>2];i[b+52>>2]=i[e+8>>2];i[b+56>>2]=c;i[b+60>>2]=0;i[b+64>>2]=0;i[b>>2]=5632;i[b+68>>2]=0;i[b+72>>2]=0;i[b+76>>2]=0;i[b+80>>2]=0;i[b+84>>2]=0;i[b+88>>2]=f;break a;case 4:b=Gm(104);i[b+4>>2]=c;i[b>>2]=3088;c=i[d+8>>2];f=i[d+12>>2];g=i[d+16>>2];h=i[d+20>>2];j=i[d>>2];k=i[d+4>>2];i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=g;i[b+28>>2]=h;i[b+16>>2]=c;i[b+20>>2]=f;i[b+8>>2]=j;i[b+12>>2]=k;g=i[d+24>>2];f=i[d+28>>2]-g|0;if(f){d=f>>2;if(d>>>0>=1073741824){break b}c=Gm(f);i[b+32>>2]=c;i[b+36>>2]=c;i[b+40>>2]=c+(d<<2);d=b;if((f|0)>=1){c=sn(c,g,f)+f|0}i[d+36>>2]=c}c=i[e+4>>2];i[b+44>>2]=i[e>>2];i[b+48>>2]=c;c=e+8|0;d=i[c>>2];f=i[c+4>>2];i[b+84>>2]=0;i[b+76>>2]=0;i[b+80>>2]=0;i[b+60>>2]=0;i[b+64>>2]=0;i[b>>2]=5848;i[b+52>>2]=d;i[b+56>>2]=f;d=i[e+4>>2];i[b+88>>2]=i[e>>2];i[b+92>>2]=d;d=i[c+4>>2];i[b+96>>2]=i[c>>2];i[b+100>>2]=d;break a;case 5:g=Gm(128);td(g,c,d,e);break;default:break g}}i[a>>2]=g;return}Vm();x()}Vm();x()}Vm();x()}Vm();x()}Vm();x()}i[a>>2]=b}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=L-96|0;L=f;d=i[a+16>>2];g[f+92|0]=1;i[f+88>>2]=b;i[f+84>>2]=b;i[f+80>>2]=d;h=i[a+20>>2];e=i[h>>2];a:{b:{d=i[i[d+28>>2]+(b<<2)>>2];if(i[h+4>>2]-e>>2>>>0>d>>>0){d=i[i[a+8>>2]+(i[e+(d<<2)>>2]<<2)>>2];e=i[a+4>>2];if(!j[e+84|0]){d=i[i[e+68>>2]+(d<<2)>>2]}i[f+72>>2]=0;i[f+76>>2]=0;h=f- -64|0;i[h>>2]=0;i[h+4>>2]=0;i[f+56>>2]=0;i[f+60>>2]=0;id(e,d,g[e+24|0],f+56|0);if((b|0)!=-1){d=b+1|0;h=(d>>>0)%3|0?d:b+ -2|0;m=((b>>>0)%3|0?-1:2)+b|0;n=f+48|0;o=f+40|0;while(1){e=h;d=m;c:{if(!i[a+28>>2]){break c}d=b+1|0;e=(d>>>0)%3|0?d:b+ -2|0;d=b+ -1|0;if((b>>>0)%3|0){break c}d=b+2|0}k=i[a+20>>2];b=i[k>>2];e=i[i[i[a+16>>2]+28>>2]+(e<<2)>>2];if(i[k+4>>2]-b>>2>>>0<=e>>>0){break b}e=i[i[a+8>>2]+(i[b+(e<<2)>>2]<<2)>>2];b=i[a+4>>2];if(!j[b+84|0]){e=i[i[b+68>>2]+(e<<2)>>2]}i[n>>2]=0;i[n+4>>2]=0;i[o>>2]=0;i[o+4>>2]=0;i[f+32>>2]=0;i[f+36>>2]=0;id(b,e,g[b+24|0],f+32|0);e=i[a+20>>2];b=i[e>>2];d=i[i[i[a+16>>2]+28>>2]+(d<<2)>>2];if(i[e+4>>2]-b>>2>>>0<=d>>>0){break a}e=i[i[a+8>>2]+(i[b+(d<<2)>>2]<<2)>>2];b=i[a+4>>2];if(!j[b+84|0]){e=i[i[b+68>>2]+(e<<2)>>2]}k=f+24|0;d=k;i[d>>2]=0;i[d+4>>2]=0;r=f+16|0;d=r;i[d>>2]=0;i[d+4>>2]=0;i[f+8>>2]=0;i[f+12>>2]=0;id(b,e,g[b+24|0],f+8|0);d=i[f+8>>2];b=i[f+56>>2];t=d-b|0;y=i[f+60>>2];e=i[f+12>>2]-(y+(d>>>0>>0)|0)|0;z=i[f+40>>2];d=i[f+64>>2];D=z-d|0;A=i[f+68>>2];z=i[f+44>>2]-(A+(z>>>0>>0)|0)|0;B=Jn(t,e,D,z);C=l-B|0;u=u-(N+(l>>>0>>0)|0)|0;l=i[r>>2];B=l-d|0;r=i[r+4>>2]-((l>>>0>>0)+A|0)|0;l=i[f+32>>2];A=l-b|0;y=i[f+36>>2]-((l>>>0>>0)+y|0)|0;d=Jn(B,r,A,y);l=d+C|0;b=N+u|0;b=l>>>0>>0?b+1|0:b;u=b;E=p;w=t;F=e;b=i[f+48>>2];p=i[f+72>>2];d=p;e=b-d|0;t=i[f+76>>2];C=i[f+52>>2]-(t+(b>>>0>>0)|0)|0;w=Jn(w,F,e,C);d=E+w|0;b=N+q|0;b=d>>>0>>0?b+1|0:b;q=i[k>>2];w=q-p|0;k=i[k+4>>2]-((q>>>0

>>0)+t|0)|0;q=Jn(w,k,A,y);p=d-q|0;q=b-(N+(d>>>0>>0)|0)|0;b=Jn(B,r,e,C);d=s-b|0;b=v-(N+(s>>>0>>0)|0)|0;v=Jn(w,k,D,z);s=v+d|0;b=N+b|0;b=s>>>0>>0?b+1|0:b;v=b;sd(f+80|0);b=i[f+88>>2];if((b|0)!=-1){continue}break}}d=v;b=d>>31;d=d>>31;h=b;b=v+b|0;m=d+s|0;if(m>>>0>>0){b=b+1|0}o=d^m;n=b^h;r=-1;e=2147483647;d=q;b=d>>31;d=d>>31;m=b;b=q+b|0;k=d+p|0;if(k>>>0>>0){b=b+1|0}d=d^k;b=b^m;h=b;m=d^-1;b=b^2147483647;d:{if(!i[a+28>>2]){if((b|0)==(n|0)&o>>>0>m>>>0|n>>>0>b>>>0){break d}b=h+n|0;a=d+o|0;if(a>>>0>>0){b=b+1|0}d=b;h=a;b=u;e=b>>31;o=b>>31;b=o+b|0;k=e+l|0;if(k>>>0>>0){b=b+1|0}e=e^k;m=b^o;n=e+h|0;b=n;h=m^2147483647;a=(h|0)==(d|0)&a>>>0>(e^-1)>>>0|d>>>0>h>>>0;d=a?0:0;b=a?-1:b;a=b;if((b|0)<536870912?1:(b|0)<=536870912?d>>>0<1:0){break d}b=(a|0)/536870912|0;a=b;b=b>>31;l=Kn(l,u,a,b);p=Kn(p,q,a,b);s=Kn(s,v,a,b);break d}e:{if((b|0)==(n|0)&o>>>0>m>>>0|n>>>0>b>>>0){break e}b=h+n|0;a=d+o|0;if(a>>>0>>0){b=b+1|0}m=b;n=a;d=b;h=u;b=h>>31;h=h>>31;k=b;b=u+b|0;t=h+l|0;if(t>>>0>>0){b=b+1|0}h=h^t;b=b^k;o=b;b=b^2147483647;if((b|0)==(d|0)&n>>>0>(h^-1)>>>0|d>>>0>b>>>0){break e}b=m+o|0;d=a+h|0;if(d>>>0>>0){b=b+1|0}r=d;e=b;if(!b&d>>>0<536870913|b>>>0<0){break d}}a=(e&536870911)<<3|r>>>29;b=e>>>29|0;l=Kn(l,u,a,b);p=Kn(p,q,a,b);s=Kn(s,v,a,b)}i[c+8>>2]=l;i[c+4>>2]=p;i[c>>2]=s;L=f+96|0;return}Wm();x()}Wm();x()}Wm();x()}function vd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0;i[a+8>>2]=e;f=a+32|0;g=i[f>>2];d=i[a+36>>2]-g>>2;a:{if(d>>>0>>0){Ta(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}i[a+36>>2]=g+(e<<2)}g=0;d=(e&1073741823)!=(e|0)?-1:e<<2;q=tn(Gm(d),0,d);s=tn(Gm(d),0,d);h=i[a+8>>2];b:{if((h|0)<1){break b}while(1){d=g<<2;f=i[d+q>>2];h=i[a+16>>2];c:{if((f|0)>(h|0)){j=i[a+32>>2];i[d+j>>2]=h;break c}j=i[a+32>>2];d=d+j|0;h=i[a+12>>2];if((f|0)<(h|0)){i[d>>2]=h;break c}i[d>>2]=f}g=g+1|0;h=i[a+8>>2];if((g|0)<(h|0)){continue}break}if((h|0)<1){break b}f=0;while(1){g=f<<2;d=g+c|0;g=i[b+g>>2]+i[g+j>>2]|0;i[d>>2]=g;d:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break d}g=g+i[a+20>>2]|0}i[d>>2]=g}f=f+1|0;h=i[a+8>>2];if((f|0)<(h|0)){continue}break}}d=i[a+56>>2];t=i[d>>2];d=i[d+4>>2]-t|0;if((d|0)>=5){u=i[a+48>>2];d=d>>2;y=(d|0)>2?d:2;z=d>>>0>1?d:1;A=e<<2;B=i[a+52>>2];m=1;while(1){e:{f:{g:{if((m|0)!=(z|0)){f=i[(m<<2)+t>>2];v=(e|0)<1;if(!v){tn(q,0,A)}if((f|0)==-1){d=o(e,m);break f}l=i[u+12>>2];k=0;d=f;while(1){g=i[l+(d<<2)>>2];h:{if((g|0)==-1){break h}j=-1;r=i[B>>2];n=i[u>>2];w=i[r+(i[n+(g<<2)>>2]<<2)>>2];p=g+1|0;p=(p>>>0)%3|0?p:g+ -2|0;if((p|0)!=-1){p=i[n+(p<<2)>>2]}else{p=-1}g=g+((g>>>0)%3|0?-1:2)|0;if((g|0)!=-1){j=i[n+(g<<2)>>2]}if((w|0)>=(m|0)){break h}g=i[(p<<2)+r>>2];if((g|0)>=(m|0)){break h}j=i[r+(j<<2)>>2];if((j|0)>=(m|0)){break h}i:{if(v){break i}j=o(e,j);n=o(e,g);r=o(e,w);g=0;while(1){i[s+(g<<2)>>2]=(i[(g+j<<2)+c>>2]+i[(g+n<<2)+c>>2]|0)-i[(g+r<<2)+c>>2];g=g+1|0;if((g|0)!=(e|0)){continue}break}g=0;if((e|0)<=0){break i}while(1){j=g<<2;n=j+q|0;i[n>>2]=i[n>>2]+i[j+s>>2];g=g+1|0;if((g|0)!=(e|0)){continue}break}}k=k+1|0}d=((d>>>0)%3|0?-1:2)+d|0;g=-1;j:{if((d|0)==-1){break j}d=i[l+(d<<2)>>2];g=-1;if((d|0)==-1){break j}g=d+ -1|0;if((d>>>0)%3|0){break j}g=d+2|0}d=(f|0)==(g|0)?-1:g;if((d|0)!=-1){continue}break}d=o(e,m);if(!k){break f}g=0;if((e|0)<=0){break g}while(1){f=(g<<2)+q|0;i[f>>2]=i[f>>2]/(k|0);g=g+1|0;if((g|0)!=(e|0)){continue}break}break g}Wm();x()}if((h|0)<1){break e}g=0;while(1){f=g<<2;h=i[f+q>>2];k=i[a+16>>2];k:{if((h|0)>(k|0)){j=i[a+32>>2];i[f+j>>2]=k;break k}j=i[a+32>>2];f=f+j|0;k=i[a+12>>2];if((h|0)<(k|0)){i[f>>2]=k;break k}i[f>>2]=h}g=g+1|0;h=i[a+8>>2];if((g|0)<(h|0)){continue}break}f=0;if((h|0)<1){break e}d=d<<2;k=d+c|0;l=b+d|0;while(1){g=f<<2;d=g+k|0;g=i[g+l>>2]+i[g+j>>2]|0;i[d>>2]=g;l:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break l}g=g+i[a+20>>2]|0}i[d>>2]=g}f=f+1|0;h=i[a+8>>2];if((f|0)<(h|0)){continue}break}break e}if((h|0)<1){break e}k=(o(m+ -1|0,e)<<2)+c|0;g=0;while(1){f=g<<2;h=i[f+k>>2];l=i[a+16>>2];m:{if((h|0)>(l|0)){j=i[a+32>>2];i[f+j>>2]=l;break m}j=i[a+32>>2];f=f+j|0;l=i[a+12>>2];if((h|0)<(l|0)){i[f>>2]=l;break m}i[f>>2]=h}g=g+1|0;h=i[a+8>>2];if((g|0)<(h|0)){continue}break}f=0;if((h|0)<1){break e}d=d<<2;k=d+c|0;l=b+d|0;while(1){g=f<<2;d=g+k|0;g=i[g+l>>2]+i[g+j>>2]|0;i[d>>2]=g;n:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break n}g=g+i[a+20>>2]|0}i[d>>2]=g}f=f+1|0;h=i[a+8>>2];if((f|0)<(h|0)){continue}break}}m=m+1|0;if((y|0)!=(m|0)){continue}break}}qn(s);qn(q);return 1}function qn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;a:{if(!a){break a}d=a+ -8|0;b=i[a+ -4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=i[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=i[d+8>>2];b=b>>>3|0;c=i[d+12>>2];if((c|0)==(e|0)){j=17332,k=i[4333]&Nn(b),i[j>>2]=k;break b}i[e+12>>2]=c;i[c+8>>2]=e;break b}h=i[d+24>>2];b=i[d+12>>2];c:{if((b|0)!=(d|0)){c=i[d+8>>2];i[c+12>>2]=b;i[b+8>>2]=c;break c}d:{e=d+20|0;c=i[e>>2];if(c){break d}e=d+16|0;c=i[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=i[e>>2];if(c){continue}e=b+16|0;c=i[b+16>>2];if(c){continue}break}i[g>>2]=0}if(!h){break b}e=i[d+28>>2];c=(e<<2)+17636|0;e:{if(i[c>>2]==(d|0)){i[c>>2]=b;if(b){break e}j=17336,k=i[4334]&Nn(e),i[j>>2]=k;break b}i[h+(i[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}i[b+24>>2]=h;c=i[d+16>>2];if(c){i[b+16>>2]=c;i[c+24>>2]=b}c=i[d+20>>2];if(!c){break b}i[b+20>>2]=c;i[c+24>>2]=b;break b}b=i[f+4>>2];if((b&3)!=3){break b}i[4335]=a;i[f+4>>2]=b&-2;i[d+4>>2]=a|1;i[a+d>>2]=a;return}if(f>>>0<=d>>>0){break a}b=i[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if((f|0)==i[4339]){i[4339]=d;a=i[4336]+a|0;i[4336]=a;i[d+4>>2]=a|1;if(i[4338]!=(d|0)){break a}i[4335]=0;i[4338]=0;return}if((f|0)==i[4338]){i[4338]=d;a=i[4335]+a|0;i[4335]=a;i[d+4>>2]=a|1;i[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){c=i[f+8>>2];b=b>>>3|0;e=i[f+12>>2];if((c|0)==(e|0)){j=17332,k=i[4333]&Nn(b),i[j>>2]=k;break g}i[c+12>>2]=e;i[e+8>>2]=c;break g}h=i[f+24>>2];b=i[f+12>>2];h:{if((f|0)!=(b|0)){c=i[f+8>>2];i[c+12>>2]=b;i[b+8>>2]=c;break h}i:{e=f+20|0;c=i[e>>2];if(c){break i}e=f+16|0;c=i[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=i[e>>2];if(c){continue}e=b+16|0;c=i[b+16>>2];if(c){continue}break}i[g>>2]=0}if(!h){break g}e=i[f+28>>2];c=(e<<2)+17636|0;j:{if((f|0)==i[c>>2]){i[c>>2]=b;if(b){break j}j=17336,k=i[4334]&Nn(e),i[j>>2]=k;break g}i[h+((f|0)==i[h+16>>2]?16:20)>>2]=b;if(!b){break g}}i[b+24>>2]=h;c=i[f+16>>2];if(c){i[b+16>>2]=c;i[c+24>>2]=b}c=i[f+20>>2];if(!c){break g}i[b+20>>2]=c;i[c+24>>2]=b}i[d+4>>2]=a|1;i[a+d>>2]=a;if(i[4338]!=(d|0)){break f}i[4335]=a;return}i[f+4>>2]=b&-2;i[d+4>>2]=a|1;i[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+17372|0;c=i[4333];a=1<>2]}i[b+8>>2]=d;i[a+12>>2]=d;i[d+12>>2]=b;i[d+8>>2]=a;return}e=31;i[d+16>>2]=0;i[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}i[d+28>>2]=e;g=(e<<2)+17636|0;l:{m:{c=i[4334];b=1<>2]=d;i[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=i[g>>2];while(1){c=b;if((i[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=(c+(b&4)|0)+16|0;b=i[g>>2];if(b){continue}break}i[g>>2]=d;i[d+24>>2]=c}i[d+12>>2]=d;i[d+8>>2]=d;break l}a=i[c+8>>2];i[a+12>>2]=d;i[c+8>>2]=d;i[d+24>>2]=0;i[d+12>>2]=c;i[d+8>>2]=a}a=i[4341]+ -1|0;i[4341]=a;if(a){break a}d=17788;while(1){a=i[d>>2];d=a+8|0;if(a){continue}break}i[4341]=-1}}function Tk(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i[a+56>>2]=i[a+52>>2];i[a+44>>2]=i[a+40>>2];a:{b:{c:{d=i[a+64>>2];if(i[d+28>>2]!=i[d+24>>2]){n=a+40|0;o=a+52|0;while(1){e=c;k=i[i[d+24>>2]+(m<<2)>>2];d:{if((k|0)==-1){break d}c=i[a+56>>2];b=i[a+60>>2];e:{if((c|0)!=(b|0)){i[c>>2]=e;i[a+56>>2]=c+4;break e}h=i[o>>2];j=c-h|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break c}d=b-h|0;b=d>>1;d=d>>2>>>0<536870911?b>>>0>>0?g:b:1073741823;c=0;f:{if(!d){break f}if(d>>>0>=1073741824){break a}c=Gm(d<<2)}b=c+(f<<2)|0;i[b>>2]=e;d=c+(d<<2)|0;b=b+4|0;if((j|0)>=1){sn(c,h,j)}i[a+60>>2]=d;i[a+56>>2]=b;i[a+52>>2]=c;if(!h){break e}qn(h)}g:{if(!(i[i[a+12>>2]+(m>>>3&536870908)>>2]>>>(m&31)&1)){break g}c=k+1|0;c=(c>>>0)%3|0?c:k+ -2|0;if((c|0)==-1|i[i[a>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1){break g}b=i[i[i[a+64>>2]+12>>2]+(c<<2)>>2];if((b|0)==-1){break g}c=b+1|0;d=(c>>>0)%3|0?c:b+ -2|0;if((d|0)==-1){break g}while(1){c=d+1|0;k=d;c=(c>>>0)%3|0?c:d+ -2|0;if((c|0)==-1|i[i[a>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1){break g}b=i[i[i[a+64>>2]+12>>2]+(c<<2)>>2];if((b|0)==-1){break g}c=b+1|0;d=(c>>>0)%3|0?c:b+ -2|0;if((d|0)!=-1){continue}break}}i[i[a+28>>2]+(k<<2)>>2]=e;c=i[a+44>>2];b=i[a+48>>2];h:{if((c|0)!=(b|0)){i[c>>2]=k;i[a+44>>2]=c+4;break h}h=i[n>>2];j=c-h|0;f=j>>2;g=f+1|0;if(g>>>0>=1073741824){break b}d=b-h|0;b=d>>1;d=d>>2>>>0<536870911?b>>>0>>0?g:b:1073741823;c=0;i:{if(!d){break i}if(d>>>0>=1073741824){break a}c=Gm(d<<2)}b=c+(f<<2)|0;i[b>>2]=k;d=c+(d<<2)|0;b=b+4|0;if((j|0)>=1){sn(c,h,j)}i[a+48>>2]=d;i[a+44>>2]=b;i[a+40>>2]=c;if(!h){break h}qn(h)}c=e+1|0;b=((k>>>0)%3|0?-1:2)+k|0;if((b|0)==-1){break d}b=i[i[i[a+64>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break d}d=b+((b>>>0)%3|0?-1:2)|0;if((d|0)==-1|(d|0)==(k|0)){break d}while(1){b=d+1|0;b=(b>>>0)%3|0?b:d+ -2|0;if(i[i[a>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1){e=i[a+56>>2];b=i[a+60>>2];j:{if((e|0)!=(b|0)){i[e>>2]=c;i[a+56>>2]=e+4;break j}l=i[o>>2];h=e-l|0;g=h>>2;j=g+1|0;if(j>>>0>=1073741824){break c}f=b-l|0;b=f>>1;f=f>>2>>>0<536870911?b>>>0>>0?j:b:1073741823;e=0;k:{if(!f){break k}if(f>>>0>=1073741824){break a}e=Gm(f<<2)}b=e+(g<<2)|0;i[b>>2]=c;f=e+(f<<2)|0;b=b+4|0;if((h|0)>=1){sn(e,l,h)}i[a+60>>2]=f;i[a+56>>2]=b;i[a+52>>2]=e;if(!l){break j}qn(l)}b=c+1|0;e=i[a+44>>2];f=i[a+48>>2];l:{if((e|0)!=(f|0)){i[e>>2]=d;i[a+44>>2]=e+4;break l}j=i[n>>2];l=e-j|0;e=l>>2;h=e+1|0;if(h>>>0>=1073741824){break b}p=e<<2;g=f-j|0;f=g>>1;g=g>>2>>>0<536870911?f>>>0>>0?h:f:1073741823;e=0;m:{if(!g){break m}if(g>>>0>=1073741824){break a}e=Gm(g<<2)}f=p+e|0;i[f>>2]=d;g=e+(g<<2)|0;f=f+4|0;if((l|0)>=1){sn(e,j,l)}i[a+48>>2]=g;i[a+44>>2]=f;i[a+40>>2]=e;if(!j){break l}qn(j)}e=c;c=b}i[i[a+28>>2]+(d<<2)>>2]=e;b=((d>>>0)%3|0?-1:2)+d|0;if((b|0)==-1){break d}b=i[i[i[a+64>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break d}d=b+((b>>>0)%3|0?-1:2)|0;if((d|0)==-1){break d}if((d|0)!=(k|0)){continue}break}}m=m+1|0;d=i[a+64>>2];if(m>>>0>2]-i[d+24>>2]>>2>>>0){continue}break}}return}Vm();x()}Vm();x()}Da(14480);x()}function Zg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;if((b|0)==-1){return 1}d=(b>>>0)/3|0;if(!(i[i[a+24>>2]+(d>>>3&268435452)>>2]>>>(d&31)&1)){c=i[a+48>>2];i[a+52>>2]=c;a:{if((c|0)!=i[a+56>>2]){i[c>>2]=b;i[a+52>>2]=c+4;break a}e=Gm(4);i[e>>2]=b;f=e+4|0;i[a+56>>2]=f;i[a+52>>2]=f;i[a+48>>2]=e;if(!c){break a}qn(c)}f=i[i[a+4>>2]+28>>2];c=b+1|0;e=(c>>>0)%3|0?c:b+ -2|0;c=i[f+(e<<2)>>2];if((c|0)==-1){return 0}h=(b-o(d,3)|0?-1:2)+b|0;d=i[f+(h<<2)>>2];if((d|0)==-1){return 0}b=i[a+36>>2];f=b+(c>>>3&536870908)|0;g=i[f>>2];j=1<<(c&31);if(!(g&j)){i[f>>2]=g|j;Jg(a+8|0,c,e);b=i[a+36>>2]}b=(d>>>3&536870908)+b|0;c=i[b>>2];e=1<<(d&31);if(!(c&e)){i[b>>2]=c|e;Jg(a+8|0,d,h)}c=i[a+52>>2];if((c|0)==i[a+48>>2]){return 1}l=a+48|0;m=a+8|0;while(1){c=c+ -4|0;b=i[c>>2];d=(b>>>0)/3|0;b:{c:{if((b|0)==-1){break c}e=i[a+24>>2]+(d>>>3&268435452)|0;f=i[e>>2];d=1<<(d&31);if(f&d){break c}i[e>>2]=d|f;e=i[a+4>>2];c=i[i[e+28>>2]+(b<<2)>>2];if((c|0)==-1){return 0}while(1){d=b;d:{b=i[a+36>>2]+(c>>>3&536870908)|0;f=i[b>>2];h=1<<(c&31);e:{if(f&h){break e}g=i[i[e+40>>2]+(c<<2)>>2];if((g|0)!=-1){f:{j=g+1|0;g=(j>>>0)%3|0?j:g+ -2|0;if((g|0)==-1|i[i[e>>2]+(g>>>3&536870908)>>2]>>>(g&31)&1){break f}e=i[i[i[e+64>>2]+12>>2]+(g<<2)>>2];if((e|0)==-1){break f}i[b>>2]=f|h;Jg(m,c,d);b=e+1|0;if((((b>>>0)%3|0?b:e+ -2|0)|0)==-1){break e}b=-1;e=i[a+4>>2];g:{if((d|0)==-1){break g}c=d+1|0;c=(c>>>0)%3|0?c:d+ -2|0;if((c|0)==-1|i[i[e>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1){break g}b=i[i[i[e+64>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;g=1<<(c&31);d=i[a+24>>2];j=c>>>5|0;f=i[d+(j<<2)>>2];break d}}i[b>>2]=f|h;Jg(m,c,d)}h:{i:{if((d|0)==-1){break i}e=i[a+4>>2];b=-1;f=d+1|0;f=(f>>>0)%3|0?f:d+ -2|0;c=-1;j:{if((f|0)==-1){break j}c=-1;if(i[i[e>>2]+(f>>>3&536870908)>>2]>>>(f&31)&1){break j}c=i[i[i[e+64>>2]+12>>2]+(f<<2)>>2]}d=d+((d>>>0)%3|0?-1:2)|0;if(!((d|0)==-1|i[i[e>>2]+(d>>>3&536870908)>>2]>>>(d&31)&1)){b=i[i[i[e+64>>2]+12>>2]+(d<<2)>>2]}k=(b|0)==-1;h=k?-1:(b>>>0)/3|0;f=(c>>>0)/3|0;g=(c|0)==-1;if(!g){d=i[a+24>>2];g=g?-1:f;j=g>>>5|0;f=i[d+(j<<2)>>2];g=1<<(g&31);if(!(f&g)){break h}}if(k){break i}g=1<<(h&31);d=i[a+24>>2];j=h>>>5|0;f=i[d+(j<<2)>>2];if(!(g&f)){break d}}c=i[a+52>>2]+ -4|0;i[a+52>>2]=c;break b}if(k){b=c;break d}if(i[(h>>>3&536870908)+d>>2]>>>(h&31)&1){b=c;break d}d=i[a+52>>2];i[d+ -4>>2]=b;h=i[a+56>>2];if((h|0)!=(d|0)){i[d>>2]=c;c=d+4|0;break c}k:{b=d;d=i[l>>2];f=b-d|0;g=f>>2;e=g+1|0;if(e>>>0<1073741824){h=h-d|0;j=h>>1;e=h>>2>>>0<536870911?j>>>0>>0?e:j:1073741823;b=0;l:{if(!e){break l}if(e>>>0>=1073741824){break k}b=Gm(e<<2)}h=b+(g<<2)|0;i[h>>2]=c;e=b+(e<<2)|0;c=h+4|0;if((f|0)>=1){sn(b,d,f)}i[a+56>>2]=e;i[a+52>>2]=c;i[a+48>>2]=b;if(!d){break b}qn(d);c=i[a+52>>2];break b}Vm();x()}Da(12220);x()}i[(j<<2)+d>>2]=f|g;c=i[i[e+28>>2]+(b<<2)>>2];if((c|0)!=-1){continue}break}return 0}i[a+52>>2]=c}if(i[l>>2]!=(c|0)){continue}break}}return 1}function Ib(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,h=0,k=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=p(0);e=L-32|0;L=e;a:{b:{c:{if(!(i[a+60>>2]!=i[a- -64>>2]|i[a+48>>2]!=i[a+52>>2])){b=1;break c}b=1;if((O[i[i[a>>2]+24>>2]](a)|0)<1){break c}d:{while(1){e:{b=O[i[i[a>>2]+20>>2]](a,u)|0;f:{g:{h:{f=i[i[i[(O[i[i[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(b<<2)>>2];switch(i[f+28>>2]+ -1|0){case 0:case 2:case 4:break h;case 8:break g;default:break f}}b=g[f+24|0];c=0;i[e+24>>2]=0;i[e+16>>2]=0;i[e+20>>2]=0;if(b){if((b|0)<=-1){break b}b=b<<2;d=Gm(b);i[e+16>>2]=d;c=b+d|0;i[e+24>>2]=c;tn(d,0,b);i[e+20>>2]=c;c=j[f+24|0]}i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;if(c&255){b=c<<24>>24;if((b|0)<=-1){break a}b=b<<2;d=Gm(b);i[e>>2]=d;c=b+d|0;i[e+8>>2]=c;tn(d,0,b);i[e+4>>2]=c}i:{j:{k:{switch(i[f+28>>2]+ -1|0){case 4:b=0;if(Jb(a,f,t)){break j}break i;case 2:b=0;if(Kb(a,f,t)){break j}break i;case 0:break k;default:break j}}b=0;if(!Lb(a,f,t)){break i}}t=g[f+24|0]+t|0;b=1}d=i[e>>2];if(d){i[e+4>>2]=d;qn(d)}d=i[e+16>>2];if(d){i[e+20>>2]=d;qn(d)}if(b){break f}break d}r=i[i[a+60>>2]+(h<<2)>>2];s=i[a+36>>2];k=i[(O[i[i[a>>2]+28>>2]](a)|0)+40>>2];n=i[f+56>>2];b=Gm(32);i[e+16>>2]=b;i[e+20>>2]=24;i[e+24>>2]=-2147483616;g[b+24|0]=0;d=j[1702]|j[1703]<<8|(j[1704]<<16|j[1705]<<24);c=j[1698]|j[1699]<<8|(j[1700]<<16|j[1701]<<24);g[b+16|0]=c;g[b+17|0]=c>>>8;g[b+18|0]=c>>>16;g[b+19|0]=c>>>24;g[b+20|0]=d;g[b+21|0]=d>>>8;g[b+22|0]=d>>>16;g[b+23|0]=d>>>24;d=j[1694]|j[1695]<<8|(j[1696]<<16|j[1697]<<24);c=j[1690]|j[1691]<<8|(j[1692]<<16|j[1693]<<24);g[b+8|0]=c;g[b+9|0]=c>>>8;g[b+10|0]=c>>>16;g[b+11|0]=c>>>24;g[b+12|0]=d;g[b+13|0]=d>>>8;g[b+14|0]=d>>>16;g[b+15|0]=d>>>24;d=j[1686]|j[1687]<<8|(j[1688]<<16|j[1689]<<24);c=j[1682]|j[1683]<<8|(j[1684]<<16|j[1685]<<24);g[b|0]=c;g[b+1|0]=c>>>8;g[b+2|0]=c>>>16;g[b+3|0]=c>>>24;g[b+4|0]=d;g[b+5|0]=d>>>8;g[b+6|0]=d>>>16;g[b+7|0]=d>>>24;l:{m:{d=k+16|0;c=d;b=i[d>>2];if(!b){break m}while(1){q=i[b+16>>2]<(n|0);c=q?c:b;b=i[(q<<2)+b>>2];if(b){continue}break}if((c|0)==(d|0)|(n|0)>2]){break m}b=c+20|0;if(!Mb(b,e+16|0)){break m}b=Lh(b,e+16|0);break l}b=Lh(k,e+16|0)}if(g[e+27|0]<=-1){qn(i[e+16>>2])}d=h+1|0;n:{if(b){Na(f,r);break n}b=s+o(h,24)|0;c=i[b+4>>2];h=g[f+24|0];s=h<<2;k=Gm((h|0)!=(h&1073741823)?-1:s);if(!Oh(Mh(e+16|0),m[b+20>>2],-1<>2]){w=i[i[r>>2]>>2]+i[r+48>>2]|0;y=b+8|0;q=0;n=0;c=0;while(1){if((h|0)>=1){z=i[y>>2];b=0;A=m[e+16>>2];while(1){v=b<<2;m[v+k>>2]=p(A*p(i[w+(c<<2)>>2]))+m[z+v>>2];c=c+1|0;b=b+1|0;if((h|0)!=(b|0)){continue}break}}sn(i[i[f+64>>2]>>2]+n|0,k,s);n=n+s|0;q=q+1|0;if(q>>>0>2]){continue}break}}qn(k)}h=d}b=1;u=u+1|0;if((u|0)<(O[i[i[a>>2]+24>>2]](a)|0)){continue}break c}break}qn(k)}b=0}L=e+32|0;return b|0}Vm();x()}Vm();x()}function Ck(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0;d=L-48|0;L=d;a:{if(!b){break a}s=a+12|0;k=i[a+4>>2];l=i[a>>2];j=k-l|0;e=j>>2;g=i[a+12>>2];c=i[a+16>>2]-g>>2;b:{if(e>>>0>c>>>0){Fk(s,e-c|0);k=i[a+4>>2];l=i[a>>2];j=k-l|0;e=j>>2;break b}if(e>>>0>=c>>>0){break b}i[a+16>>2]=g+(e<<2)}i[d+40>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;c:{d:{e:{if(!e){c=0;g=0;break e}if(e>>>0>=1073741824){break d}c=Gm(j);i[d+36>>2]=c;i[d+32>>2]=c;i[d+40>>2]=(e<<2)+c;h=c;g=c}if(!j){break c}f=g;j=0;while(1){e=i[(j<<2)+l>>2];h=h-f>>2;if(e>>>0>=h>>>0){i[d+16>>2]=0;c=e+1|0;f:{if(c>>>0>h>>>0){Va(d+32|0,c-h|0,d+16|0);l=i[a>>2];k=i[a+4>>2];break f}if(c>>>0>=h>>>0){break f}i[d+36>>2]=(c<<2)+f}c=i[d+32>>2];g=c}f=(e<<2)+c|0;i[f>>2]=i[f>>2]+1;j=j+1|0;f=k-l|0;e=f>>2;if(j>>>0>=e>>>0){break c}h=i[d+36>>2];f=c;continue}}Da(14288);x()}i[d+24>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;g:{h:{if(f){if(e>>>0>=536870912){break h}c=Gm(f<<1);i[d+16>>2]=c;i[d+20>>2]=c;g=(e<<3)+c|0;i[d+24>>2]=g;while(1){i[c>>2]=-1;i[c+4>>2]=-1;c=c+8|0;if((g|0)!=(c|0)){continue}break}i[d+20>>2]=g;c=i[d+32>>2];g=c}i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;g=i[d+36>>2]-g|0;l=g>>2;i:{if(g){if(l>>>0>=1073741824){break i}m=Gm(g);i[d>>2]=m;g=l<<2;f=g+m|0;i[d+8>>2]=f;j=0;g=tn(m,0,g);i[d+4>>2]=f;f=l>>>0>1?l:1;e=0;while(1){h=e<<2;i[h+g>>2]=j;j=i[c+h>>2]+j|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}k=i[a>>2];c=i[a+4>>2];if((k|0)==(c|0)){break g}y=c-k>>2;g=0;o=i[d+16>>2];t=i[d+32>>2];while(1){u=g<<2;c=u+k|0;q=i[c>>2];h=-1;j=g+1|0;f=(j>>>0)%3|0?j:g+ -2|0;if((f|0)!=-1){h=i[(f<<2)+k>>2]}p=-1;f=(g>>>0)%3|0;e=(f?-1:2)+g|0;if((e|0)!=-1){p=i[(e<<2)+k>>2]}j:{k:{if(f){break k}l:{if((h|0)==(p|0)){break l}c=i[c>>2];if((c|0)==(h|0)){break l}if((c|0)!=(p|0)){break k}}i[a+40>>2]=i[a+40>>2]+1;g=g+3|0;break j}c=p<<2;r=i[c+t>>2];m:{n:{if((r|0)<1){break n}c=i[c+m>>2];e=0;while(1){f=o+(c<<3)|0;n=i[f>>2];if((n|0)==-1){break n}o:{if((h|0)!=(n|0)){break o}n=i[f+4>>2];if((n|0)!=-1){f=i[(n<<2)+k>>2]}else{f=-1}if((f|0)==(q|0)){break o}while(1){p:{f=c;e=e+1|0;if((e|0)>=(r|0)){break p}q=o+(f<<3)|0;c=f+1|0;v=o+(c<<3)|0;w=i[v>>2];i[q>>2]=w;i[q+4>>2]=i[v+4>>2];if((w|0)!=-1){continue}}break}i[o+(f<<3)>>2]=-1;if((n|0)==-1){break n}c=i[s>>2];i[c+u>>2]=n;i[c+(n<<2)>>2]=g;break m}c=c+1|0;e=e+1|0;if((r|0)!=(e|0)){continue}break}}c=h<<2;h=i[c+t>>2];if((h|0)<1){break m}c=i[c+m>>2];e=0;while(1){f=o+(c<<3)|0;if(i[f>>2]==-1){i[f>>2]=p;i[f+4>>2]=g;break m}c=c+1|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}g=j}if(g>>>0>>0){continue}break}break g}Vm();x()}Vm();x()}i[b>>2]=l;if(m){i[d+4>>2]=m;qn(m)}a=i[d+16>>2];if(a){i[d+20>>2]=a;qn(a)}a=i[d+32>>2];if(!a){break a}i[d+36>>2]=a;qn(a)}L=d+48|0;return(b|0)!=0}function db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0;e=L-704|0;L=e;r=1;a:{b:{c:{d:{if(k[b+38>>1]<515){break d}r=0;f=i[b+16>>2];d=i[b+12>>2];c=i[b+20>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]<=f>>>0:0){break d}u=j[f+i[b>>2]|0];f=f+1|0;if(f>>>0<1){c=c+1|0}i[b+16>>2]=f;i[b+20>>2]=c;t=i[i[(O[i[i[a>>2]+28>>2]](a)|0)+4>>2]+80>>2];c=O[i[i[a>>2]+24>>2]](a)|0;i[e+696>>2]=0;i[e+688>>2]=0;i[e+692>>2]=0;if(c){if(c>>>0>=214748365){break c}d=o(c,20);c=Gm(d);i[e+688>>2]=c;i[e+692>>2]=c;d=c+d|0;i[e+696>>2]=d;while(1){i[c>>2]=0;i[c+4>>2]=0;i[c+16>>2]=0;i[c+8>>2]=0;i[c+12>>2]=0;c=c+20|0;if((d|0)!=(c|0)){continue}break}i[e+692>>2]=d}e:{if((O[i[i[a>>2]+24>>2]](a)|0)>=1){v=a+48|0;w=a+60|0;while(1){c=O[i[i[a>>2]+20>>2]](a,q)|0;d=i[i[i[(O[i[i[a>>2]+28>>2]](a)|0)+4>>2]+8>>2]+(c<<2)>>2];Ma(d,t);g[d+84|0]=1;i[d+72>>2]=i[d+68>>2];c=i[d+28>>2];if(c>>>0>9){break e}f:{g:{h:{f=1<>2];d=c;c=o(Hh(6),c);Ha(f,h,d,6,0,c,c>>31);c=Gm(96);d=La(c,f);i[e+656>>2]=c;g[c+84|0]=1;i[c+72>>2]=i[c+68>>2];Ma(d,t);c=i[a+64>>2];if(c>>>0>=l[a+68>>2]){break h}d=i[e+656>>2];i[e+656>>2]=0;i[c>>2]=d;c=c+4|0;i[a+64>>2]=c;break g}p=0;if(g[d+24|0]<=0){break f}while(1){c=i[a+52>>2];m=i[a+56>>2];i:{if(c>>>0>>0){i[c>>2]=0;i[a+52>>2]=c+4;break i}f=i[v>>2];s=c-f|0;c=s>>2;h=c+1|0;if(h>>>0>=1073741824){break b}y=c<<2;m=m-f|0;c=m>>1;h=m>>2>>>0<536870911?c>>>0>>0?h:c:1073741823;c=0;j:{if(!h){break j}if(h>>>0>=1073741824){break a}c=Gm(h<<2)}m=y+c|0;i[m>>2]=0;h=c+(h<<2)|0;m=m+4|0;if((s|0)>=1){sn(c,f,s)}i[a+56>>2]=h;i[a+52>>2]=m;i[a+48>>2]=c;if(!f){break i}qn(f)}p=p+1|0;if((p|0)>2]}d=i[c+ -4>>2];c=i[e+656>>2];i[e+656>>2]=0;if(!c){break f}Ua(c)}h=i[d+28>>2];f=Hh(h);c=i[e+688>>2]+o(q,20)|0;p=g[d+24|0];i[c+16>>2]=p;i[c+12>>2]=(f|0)>0?f:0;i[c+8>>2]=h;i[c+4>>2]=n;i[c>>2]=d;n=n+p|0;q=q+1|0;if((q|0)<(O[i[i[a>>2]+24>>2]](a)|0)){continue}break}}a=fb(e+656|0,e+688|0);k:{l:{m:{switch(u|0){case 0:c=ib(e,n);b=gb(c,b,a);hb(c);if(b){break l}break k;case 1:c=ib(e,n);b=jb(c,b,a);hb(c);if(b){break l}break k;case 2:c=mb(e,n);b=kb(c,b,a);lb(c);if(b){break l}break k;case 3:c=mb(e,n);b=nb(c,b,a);lb(c);if(b){break l}break k;case 4:c=qb(e,n);b=ob(c,b,a);pb(c);if(b){break l}break k;case 5:c=qb(e,n);b=rb(c,b,a);pb(c);if(b){break l}break k;case 6:break m;default:break k}}c=qb(e,n);b=sb(c,b,a);pb(c);if(!b){break k}}r=1}b=i[a+16>>2];if(b){i[a+20>>2]=b;qn(b)}b=i[a>>2];if(!b){break e}i[a+4>>2]=b;qn(b)}a=i[e+688>>2];if(!a){break d}i[e+692>>2]=a;qn(a)}L=e+704|0;return r|0}Vm();x()}Vm();x()}Da(1756);x()}function ud(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;i[a+8>>2]=e;f=a+32|0;g=i[f>>2];d=i[a+36>>2]-g>>2;a:{if(d>>>0>>0){Ta(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}i[a+36>>2]=g+(e<<2)}s=i[a+52>>2];q=i[a+48>>2];d=0;f=(e&1073741823)!=(e|0)?-1:e<<2;p=tn(Gm(f),0,f);f=i[a+8>>2];b:{if((f|0)<1){break b}while(1){f=d<<2;g=i[f+p>>2];k=i[a+16>>2];c:{if((g|0)>(k|0)){h=i[a+32>>2];i[f+h>>2]=k;break c}h=i[a+32>>2];f=f+h|0;k=i[a+12>>2];if((g|0)<(k|0)){i[f>>2]=k;break c}i[f>>2]=g}d=d+1|0;f=i[a+8>>2];if((d|0)<(f|0)){continue}break}if((f|0)<1){break b}g=0;while(1){f=g<<2;d=f+c|0;f=i[b+f>>2]+i[f+h>>2]|0;i[d>>2]=f;d:{if((f|0)>i[a+16>>2]){f=f-i[a+20>>2]|0}else{if((f|0)>=i[a+12>>2]){break d}f=f+i[a+20>>2]|0}i[d>>2]=f}g=g+1|0;f=i[a+8>>2];if((g|0)<(f|0)){continue}break}}d=i[a+56>>2];r=i[d>>2];d=i[d+4>>2]-r|0;if((d|0)>=5){d=d>>2;t=(d|0)>2?d:2;u=d>>>0>1?d:1;k=1;while(1){e:{f:{if((k|0)!=(u|0)){n=o(e,k);d=i[(k<<2)+r>>2];if((d|0)==-1){break f}d=i[i[q+12>>2]+(d<<2)>>2];if((d|0)==-1){break f}g=-1;j=i[s>>2];h=i[q>>2];l=i[j+(i[h+(d<<2)>>2]<<2)>>2];m=d+1|0;m=(m>>>0)%3|0?m:d+ -2|0;if((m|0)!=-1){m=i[h+(m<<2)>>2]}else{m=-1}d=d+((d>>>0)%3|0?-1:2)|0;if((d|0)!=-1){g=i[h+(d<<2)>>2]}if((l|0)>=(k|0)){break f}d=i[(m<<2)+j>>2];if((d|0)>=(k|0)){break f}g=i[j+(g<<2)>>2];if((g|0)>=(k|0)){break f}if((e|0)>=1){g=o(e,g);h=o(d,e);j=o(e,l);d=0;while(1){i[(d<<2)+p>>2]=(i[(d+g<<2)+c>>2]+i[(d+h<<2)+c>>2]|0)-i[(d+j<<2)+c>>2];d=d+1|0;if((e|0)!=(d|0)){continue}break}}if((f|0)<1){break e}d=0;while(1){f=d<<2;g=i[f+p>>2];j=i[a+16>>2];g:{if((g|0)>(j|0)){h=i[a+32>>2];i[f+h>>2]=j;break g}h=i[a+32>>2];f=f+h|0;j=i[a+12>>2];if((g|0)<(j|0)){i[f>>2]=j;break g}i[f>>2]=g}d=d+1|0;f=i[a+8>>2];if((d|0)<(f|0)){continue}break}g=0;if((f|0)<1){break e}d=n<<2;n=d+c|0;j=b+d|0;while(1){f=g<<2;d=f+n|0;f=i[f+j>>2]+i[f+h>>2]|0;i[d>>2]=f;h:{if((f|0)>i[a+16>>2]){f=f-i[a+20>>2]|0}else{if((f|0)>=i[a+12>>2]){break h}f=f+i[a+20>>2]|0}i[d>>2]=f}g=g+1|0;f=i[a+8>>2];if((g|0)<(f|0)){continue}break}break e}Wm();x()}if((f|0)<1){break e}j=(o(k+ -1|0,e)<<2)+c|0;d=0;while(1){f=d<<2;g=i[f+j>>2];l=i[a+16>>2];i:{if((g|0)>(l|0)){h=i[a+32>>2];i[f+h>>2]=l;break i}h=i[a+32>>2];f=f+h|0;l=i[a+12>>2];if((g|0)<(l|0)){i[f>>2]=l;break i}i[f>>2]=g}d=d+1|0;f=i[a+8>>2];if((d|0)<(f|0)){continue}break}g=0;if((f|0)<1){break e}d=n<<2;n=d+c|0;j=b+d|0;while(1){f=g<<2;d=f+n|0;f=i[f+j>>2]+i[f+h>>2]|0;i[d>>2]=f;j:{if((f|0)>i[a+16>>2]){f=f-i[a+20>>2]|0}else{if((f|0)>=i[a+12>>2]){break j}f=f+i[a+20>>2]|0}i[d>>2]=f}g=g+1|0;f=i[a+8>>2];if((g|0)<(f|0)){continue}break}}k=k+1|0;if((t|0)!=(k|0)){continue}break}}qn(p);return 1}function Ic(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;i[a+8>>2]=e;f=a+32|0;g=i[f>>2];d=i[a+36>>2]-g>>2;a:{if(d>>>0>>0){Ta(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}i[a+36>>2]=g+(e<<2)}r=i[a+52>>2];p=i[a+48>>2];d=0;f=(e&1073741823)!=(e|0)?-1:e<<2;n=tn(Gm(f),0,f);f=i[a+8>>2];b:{if((f|0)<1){break b}while(1){f=d<<2;g=i[f+n>>2];j=i[a+16>>2];c:{if((g|0)>(j|0)){h=i[a+32>>2];i[f+h>>2]=j;break c}h=i[a+32>>2];f=f+h|0;j=i[a+12>>2];if((g|0)<(j|0)){i[f>>2]=j;break c}i[f>>2]=g}d=d+1|0;f=i[a+8>>2];if((d|0)<(f|0)){continue}break}if((f|0)<1){break b}g=0;while(1){f=g<<2;d=f+c|0;f=i[b+f>>2]+i[f+h>>2]|0;i[d>>2]=f;d:{if((f|0)>i[a+16>>2]){f=f-i[a+20>>2]|0}else{if((f|0)>=i[a+12>>2]){break d}f=f+i[a+20>>2]|0}i[d>>2]=f}g=g+1|0;f=i[a+8>>2];if((g|0)<(f|0)){continue}break}}d=i[a+56>>2];q=i[d>>2];d=i[d+4>>2]-q|0;if((d|0)>=5){d=d>>2;s=(d|0)>2?d:2;t=d>>>0>1?d:1;j=1;while(1){e:{f:{if((j|0)!=(t|0)){m=o(e,j);d=i[(j<<2)+q>>2];if((d|0)==-1|i[i[p>>2]+(d>>>3&536870908)>>2]>>>(d&31)&1){break f}d=i[i[i[p+64>>2]+12>>2]+(d<<2)>>2];if((d|0)==-1){break f}h=i[r>>2];g=i[p+28>>2];k=i[h+(i[g+(d<<2)>>2]<<2)>>2];if((k|0)>=(j|0)){break f}l=d+1|0;l=i[h+(i[g+(((l>>>0)%3|0?l:d+ -2|0)<<2)>>2]<<2)>>2];if((l|0)>=(j|0)){break f}d=i[h+(i[g+(d+((d>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((d|0)>=(j|0)){break f}if((e|0)>=1){g=o(d,e);h=o(e,l);k=o(e,k);d=0;while(1){i[(d<<2)+n>>2]=(i[(d+g<<2)+c>>2]+i[(d+h<<2)+c>>2]|0)-i[(d+k<<2)+c>>2];d=d+1|0;if((e|0)!=(d|0)){continue}break}}if((f|0)<1){break e}d=0;while(1){f=d<<2;g=i[f+n>>2];k=i[a+16>>2];g:{if((g|0)>(k|0)){h=i[a+32>>2];i[f+h>>2]=k;break g}h=i[a+32>>2];f=f+h|0;k=i[a+12>>2];if((g|0)<(k|0)){i[f>>2]=k;break g}i[f>>2]=g}d=d+1|0;f=i[a+8>>2];if((d|0)<(f|0)){continue}break}g=0;if((f|0)<1){break e}d=m<<2;m=d+c|0;k=b+d|0;while(1){f=g<<2;d=f+m|0;f=i[f+k>>2]+i[f+h>>2]|0;i[d>>2]=f;h:{if((f|0)>i[a+16>>2]){f=f-i[a+20>>2]|0}else{if((f|0)>=i[a+12>>2]){break h}f=f+i[a+20>>2]|0}i[d>>2]=f}g=g+1|0;f=i[a+8>>2];if((g|0)<(f|0)){continue}break}break e}Wm();x()}if((f|0)<1){break e}k=(o(j+ -1|0,e)<<2)+c|0;d=0;while(1){f=d<<2;g=i[f+k>>2];l=i[a+16>>2];i:{if((g|0)>(l|0)){h=i[a+32>>2];i[f+h>>2]=l;break i}h=i[a+32>>2];f=f+h|0;l=i[a+12>>2];if((g|0)<(l|0)){i[f>>2]=l;break i}i[f>>2]=g}d=d+1|0;f=i[a+8>>2];if((d|0)<(f|0)){continue}break}g=0;if((f|0)<1){break e}d=m<<2;m=d+c|0;k=b+d|0;while(1){f=g<<2;d=f+m|0;f=i[f+k>>2]+i[f+h>>2]|0;i[d>>2]=f;j:{if((f|0)>i[a+16>>2]){f=f-i[a+20>>2]|0}else{if((f|0)>=i[a+12>>2]){break j}f=f+i[a+20>>2]|0}i[d>>2]=f}g=g+1|0;f=i[a+8>>2];if((g|0)<(f|0)){continue}break}}j=j+1|0;if((s|0)!=(j|0)){continue}break}}qn(n);return 1}function Tg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;if((b|0)==-1){return 1}d=(b>>>0)/3|0;if(!(i[i[a+24>>2]+(d>>>3&268435452)>>2]>>>(d&31)&1)){c=i[a+48>>2];i[a+52>>2]=c;a:{if((c|0)!=i[a+56>>2]){i[c>>2]=b;i[a+52>>2]=c+4;break a}e=Gm(4);i[e>>2]=b;f=e+4|0;i[a+56>>2]=f;i[a+52>>2]=f;i[a+48>>2]=e;if(!c){break a}qn(c)}e=i[a+4>>2];c=-1;f=b+1|0;f=(f>>>0)%3|0?f:b+ -2|0;if((f|0)!=-1){c=i[i[e>>2]+(f<<2)>>2]}g=(b-o(d,3)|0?-1:2)+b|0;if((g|0)==-1){return 0}if((c|0)==-1){return 0}d=i[i[e>>2]+(g<<2)>>2];if((d|0)==-1){return 0}b=i[a+36>>2];e=b+(c>>>3&536870908)|0;h=i[e>>2];j=1<<(c&31);if(!(h&j)){i[e>>2]=h|j;Jg(a+8|0,c,f);b=i[a+36>>2]}b=(d>>>3&536870908)+b|0;c=i[b>>2];e=1<<(d&31);if(!(c&e)){i[b>>2]=c|e;Jg(a+8|0,d,g)}d=i[a+52>>2];if((d|0)==i[a+48>>2]){return 1}k=a+48|0;l=a+8|0;while(1){d=d+ -4|0;b=i[d>>2];c=(b>>>0)/3|0;b:{c:{if((b|0)==-1){break c}e=i[a+24>>2]+(c>>>3&268435452)|0;f=i[e>>2];c=1<<(c&31);if(f&c){break c}i[e>>2]=c|f;while(1){g=i[a+4>>2];c=i[i[g>>2]+(b<<2)>>2];if((c|0)==-1){return 0}d:{d=i[a+36>>2]+(c>>>3&536870908)|0;e=i[d>>2];f=1<<(c&31);e:{if(e&f){break e}h=i[i[g+24>>2]+(c<<2)>>2];if((h|0)!=-1){j=h+1|0;h=(j>>>0)%3|0?j:h+ -2|0;if((h|0)!=-1){g=i[i[g+12>>2]+(h<<2)>>2];if((g|0)!=-1){i[d>>2]=e|f;Jg(l,c,b);c=g+1|0;if((((c>>>0)%3|0?c:g+ -2|0)|0)==-1){break e}d=b+ -2|0;c=b+1|0;b=-1;c=(c>>>0)%3|0?c:d;if((c|0)!=-1){b=i[i[i[a+4>>2]+12>>2]+(c<<2)>>2]}c=(b>>>0)/3|0;h=1<<(c&31);e=i[a+24>>2];j=c>>>5|0;f=i[e+(j<<2)>>2];break d}}}i[d>>2]=e|f;Jg(l,c,b)}d=-1;e=i[a+4>>2];c=-1;f=b+1|0;f=(f>>>0)%3|0?f:b+ -2|0;if((f|0)!=-1){c=i[i[e+12>>2]+(f<<2)>>2]}b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)!=-1){d=i[i[e+12>>2]+(b<<2)>>2]}b=(d|0)==-1;g=b?-1:(d>>>0)/3|0;f=(c>>>0)/3|0;f:{h=(c|0)==-1;if(!h){e=i[a+24>>2];h=h?-1:f;j=h>>>5|0;f=i[e+(j<<2)>>2];h=1<<(h&31);if(!(f&h)){break f}}if(!b){b=d;h=1<<(g&31);e=i[a+24>>2];j=g>>>5|0;f=i[e+(j<<2)>>2];if(!(h&f)){break d}}d=i[a+52>>2]+ -4|0;i[a+52>>2]=d;break b}if(b){b=c;break d}if(i[(g>>>3&536870908)+e>>2]>>>(g&31)&1){b=c;break d}b=i[a+52>>2];i[b+ -4>>2]=d;g=i[a+56>>2];if((g|0)!=(b|0)){i[b>>2]=c;d=b+4|0;break c}g:{e=i[k>>2];f=b-e|0;h=f>>2;d=h+1|0;if(d>>>0<1073741824){g=g-e|0;j=g>>1;d=g>>2>>>0<536870911?j>>>0>>0?d:j:1073741823;b=0;h:{if(!d){break h}if(d>>>0>=1073741824){break g}b=Gm(d<<2)}g=b+(h<<2)|0;i[g>>2]=c;c=b+(d<<2)|0;d=g+4|0;if((f|0)>=1){sn(b,e,f)}i[a+56>>2]=c;i[a+52>>2]=d;i[a+48>>2]=b;if(!e){break b}qn(e);d=i[a+52>>2];break b}Vm();x()}Da(12220);x()}i[(j<<2)+e>>2]=f|h;if((b|0)!=-1){continue}break}return 0}i[a+52>>2]=d}if(i[k>>2]!=(d|0)){continue}break}}return 1}function ad(a,b,c,d){var e=0,f=0,h=p(0),k=0,l=p(0),n=p(0),r=0,s=p(0),t=p(0),v=p(0),y=p(0),z=p(0),A=0,B=0,C=p(0),D=p(0),E=p(0),F=p(0),G=p(0),H=p(0),I=p(0),J=p(0),K=0;e=L-48|0;L=e;r=-1;f=-1;a:{if((b|0)==-1){break a}f=b+1|0;r=(f>>>0)%3|0?f:b+ -2|0;f=b+ -1|0;if((b>>>0)%3|0){break a}f=b+2|0}k=i[a+52>>2];b=i[k>>2];b:{k=i[k+4>>2]-b>>2;A=i[i[a+48>>2]+28>>2];r=i[A+(r<<2)>>2];if(k>>>0<=r>>>0){break b}K=k;k=i[(f<<2)+A>>2];if(K>>>0<=k>>>0){break b}c:{d:{f=i[b+(r<<2)>>2];A=(f|0)>=(d|0);if(A){break d}r=i[b+(k<<2)>>2];if((r|0)>=(d|0)){break d}b=i[a+72>>2];k=(o(b,r)<<2)+c|0;l=p(i[k+4>>2]);b=(o(b,f)<<2)+c|0;z=p(i[b+4>>2]);C=p(i[k>>2]);F=p(i[b>>2]);if(!(C!=F|l!=z)){a=i[a+68>>2];b=a;if(p(q(l))>2]=c;if(p(q(C))>2]=~~C;break c}i[a>>2]=-2147483648;break c}d=i[i[a+64>>2]+(d<<2)>>2];i[e+40>>2]=0;i[e+32>>2]=0;i[e+36>>2]=0;b=i[a+60>>2];if(!j[b+84|0]){d=i[i[b+68>>2]+(d<<2)>>2]}bd(b,d,g[b+24|0],e+32|0);d=i[i[a+64>>2]+(f<<2)>>2];i[e+24>>2]=0;i[e+16>>2]=0;i[e+20>>2]=0;b=i[a+60>>2];if(!j[b+84|0]){d=i[i[b+68>>2]+(d<<2)>>2]}bd(b,d,g[b+24|0],e+16|0);c=i[i[a+64>>2]+(r<<2)>>2];i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;b=i[a+60>>2];if(!j[b+84|0]){c=i[i[b+68>>2]+(c<<2)>>2]}bd(b,c,g[b+24|0],e);D=m[e+40>>2];E=m[e+36>>2];s=m[e+32>>2];H=m[e+16>>2];n=p(m[e>>2]-H);I=m[e+20>>2];t=p(m[e+4>>2]-I);J=m[e+24>>2];v=p(m[e+8>>2]-J);G=p(p(p(p(n*n)+p(0))+p(t*t))+p(v*v));e:{if(!(G>p(0))){y=p(0);if(i[a+88>>2]>257){break e}}s=p(s-H);E=p(E-I);D=p(D-J);h=p(p(p(p(p(n*s)+p(0))+p(t*E))+p(v*D))/G);v=p(D-p(v*h));t=p(E-p(t*h));n=p(s-p(n*h));y=p(w(p(p(p(v*v)+p(p(t*t)+p(p(n*n)+p(0))))/G)))}s=y;c=a+80|0;b=i[c>>2]+ -1|0;d=i[i[a+76>>2]+(b>>>3&536870908)>>2];i[c>>2]=b;n=p(l-z);y=p(p(n*h)+z);z=p(C-F);l=p(z*s);b=d>>>(b&31)&1;l=p(y+(b?l:p(-l)));y=p(p(z*h)+F);h=p(n*s);h=p(y+(b?p(-h):h));f:{if(h!=h){b=i[a+68>>2];i[b>>2]=-2147483648;break f}b=i[a+68>>2];a=b;B=u(+h+.5);g:{if(q(B)<2147483648){c=~~B;break g}c=-2147483648}i[a>>2]=c}B=u(+l+.5);h:{if(q(B)<2147483648){a=~~B;break h}a=-2147483648}i[b+4>>2]=l!=l?-2147483648:a;break c}i:{if(!A){b=i[a+72>>2];d=o(f,b);break i}if((d|0)<=0){if(i[a+72>>2]<1){break c}c=i[a+68>>2];b=0;while(1){i[c+(b<<2)>>2]=0;b=b+1|0;if((b|0)>2]){continue}break}break c}b=i[a+72>>2];d=o(b,d+ -1|0)}if((b|0)<1){break c}f=i[a+68>>2];b=0;while(1){i[f+(b<<2)>>2]=i[(b+d<<2)+c>>2];b=b+1|0;if((b|0)>2]){continue}break}}L=e+48|0;return}Wm();x()}function Cd(a,b,c,d){var e=0,f=0,h=0,k=p(0),l=p(0),n=0,r=p(0),s=p(0),t=p(0),v=p(0),y=p(0),z=p(0),A=0,B=0,C=p(0),D=p(0),E=p(0),F=p(0),G=p(0),H=0,I=p(0),J=p(0),K=p(0);e=L-48|0;L=e;f=-1;n=-1;a:{if((b|0)==-1){break a}h=((b>>>0)%3|0?-1:2)+b|0;A=i[a+48>>2];H=b+1|0;b=(H>>>0)%3|0?H:b+ -2|0;if((b|0)!=-1){f=i[i[A>>2]+(b<<2)>>2]}if((h|0)==-1){break a}n=i[i[A>>2]+(h<<2)>>2]}h=i[a+52>>2];b=i[h>>2];h=i[h+4>>2]-b>>2;if(!(h>>>0<=f>>>0|h>>>0<=n>>>0)){b:{c:{f=i[b+(f<<2)>>2];A=(f|0)>=(d|0);if(A){break c}h=i[b+(n<<2)>>2];if((h|0)>=(d|0)){break c}b=i[a+72>>2];n=(o(b,h)<<2)+c|0;l=p(i[n+4>>2]);b=(o(b,f)<<2)+c|0;z=p(i[b+4>>2]);C=p(i[n>>2]);F=p(i[b>>2]);if(!(C!=F|l!=z)){a=i[a+68>>2];b=a;if(p(q(l))>2]=c;if(p(q(C))>2]=~~C;break b}i[a>>2]=-2147483648;break b}n=i[i[a+64>>2]+(d<<2)>>2];i[e+40>>2]=0;i[e+32>>2]=0;i[e+36>>2]=0;b=i[a+60>>2];if(!j[b+84|0]){n=i[i[b+68>>2]+(n<<2)>>2]}bd(b,n,g[b+24|0],e+32|0);f=i[i[a+64>>2]+(f<<2)>>2];i[e+24>>2]=0;i[e+16>>2]=0;i[e+20>>2]=0;b=i[a+60>>2];if(!j[b+84|0]){f=i[i[b+68>>2]+(f<<2)>>2]}bd(b,f,g[b+24|0],e+16|0);c=i[i[a+64>>2]+(h<<2)>>2];i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;b=i[a+60>>2];if(!j[b+84|0]){c=i[i[b+68>>2]+(c<<2)>>2]}bd(b,c,g[b+24|0],e);D=m[e+40>>2];E=m[e+36>>2];s=m[e+32>>2];I=m[e+16>>2];r=p(m[e>>2]-I);J=m[e+20>>2];t=p(m[e+4>>2]-J);K=m[e+24>>2];v=p(m[e+8>>2]-K);G=p(p(p(p(r*r)+p(0))+p(t*t))+p(v*v));d:{if(!(G>p(0))){y=p(0);if(i[a+88>>2]>257){break d}}s=p(s-I);E=p(E-J);D=p(D-K);k=p(p(p(p(p(r*s)+p(0))+p(t*E))+p(v*D))/G);v=p(D-p(v*k));t=p(E-p(t*k));r=p(s-p(r*k));y=p(w(p(p(p(v*v)+p(p(t*t)+p(p(r*r)+p(0))))/G)))}s=y;c=a+80|0;b=i[c>>2]+ -1|0;d=i[i[a+76>>2]+(b>>>3&536870908)>>2];i[c>>2]=b;r=p(l-z);y=p(p(r*k)+z);z=p(C-F);l=p(z*s);b=d>>>(b&31)&1;l=p(y+(b?l:p(-l)));y=p(p(z*k)+F);k=p(r*s);k=p(y+(b?p(-k):k));e:{if(k!=k){b=i[a+68>>2];i[b>>2]=-2147483648;break e}b=i[a+68>>2];a=b;B=u(+k+.5);f:{if(q(B)<2147483648){c=~~B;break f}c=-2147483648}i[a>>2]=c}B=u(+l+.5);g:{if(q(B)<2147483648){a=~~B;break g}a=-2147483648}i[b+4>>2]=l!=l?-2147483648:a;break b}h:{if(!A){b=i[a+72>>2];d=o(f,b);break h}if((d|0)<=0){if(i[a+72>>2]<1){break b}c=i[a+68>>2];b=0;while(1){i[c+(b<<2)>>2]=0;b=b+1|0;if((b|0)>2]){continue}break}break b}b=i[a+72>>2];d=o(b,d+ -1|0)}if((b|0)<1){break b}f=i[a+68>>2];b=0;while(1){i[f+(b<<2)>>2]=i[(b+d<<2)+c>>2];b=b+1|0;if((b|0)>2]){continue}break}}L=e+48|0;return}Wm();x()}function Ek(a,b){var c=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=L-48|0;L=k;i[a+36>>2]=b;p=a+24|0;d=i[a+24>>2];c=i[a+28>>2]-d>>2;a:{if(c>>>0>>0){Fk(p,b-c|0);break a}if(c>>>0<=b>>>0){break a}i[a+28>>2]=d+(b<<2)}g[k+16|0]=0;l=Gk(k+32|0,b,k+16|0);c=i[a>>2];d=i[a+4>>2];g[k+8|0]=0;q=Gk(k+16|0,d-c>>2,k+8|0);b:{h=i[a+4>>2];c=i[a>>2];if(h-c>>2>>>0<3){break b}t=a+48|0;while(1){m=o(r,3);e=i[(m<<2)+c>>2];d=m+1|0;c:{d:{if((d|0)==-1){j=0;f=-1;break d}f=i[(d<<2)+c>>2];j=m+2|0;d=-1;if((j|0)==-1){break c}}d=i[(j<<2)+c>>2]}e:{if(!((d|0)==(f|0)|(e|0)==(f|0)|(d|0)==(e|0))){j=i[q>>2];n=0;while(1){d=m+n|0;f:{if(i[(d>>>3&536870908)+j>>2]>>>(d&31)&1){break f}h=i[i[a>>2]+(d<<2)>>2];i[k+8>>2]=h;c=1<<(h&31);e=i[l>>2];f=h>>>5|0;j=i[e+(f<<2)>>2];s=c&j;if(s){bg(p,14284);Hk(t,k+8|0);c=i[l+4>>2];f=i[l+8>>2];if((c|0)==f<<5){if((c+1|0)<=-1){break e}e=l;if(c>>>0<=1073741822){h=c+32&-32;c=f<<6;c=c>>>0>>0?h:c}else{c=2147483647}Sc(e,c);c=i[l+4>>2]}i[l+4>>2]=c+1;e=i[l>>2];f=e+(c>>>3&536870908)|0;h=i[f>>2];u=f,v=Nn(c)&h,i[u>>2]=v;i[k+8>>2]=b;c=1<<(b&31);f=b>>>5|0;j=i[(f<<2)+e>>2];b=b+1|0}i[(f<<2)+e>>2]=c|j;j=i[q>>2];c=d;g:{while(1){if((c|0)==-1){break g}e=(c>>>3&536870908)+j|0;i[e>>2]=i[e>>2]|1<<(c&31);e=i[k+8>>2];i[i[p>>2]+(e<<2)>>2]=c;if(s){i[i[a>>2]+(c<<2)>>2]=e}h=d;f=c+1|0;c=(f>>>0)%3|0?f:c+ -2|0;e=-1;h:{if((c|0)==-1){break h}f=i[i[a+12>>2]+(c<<2)>>2];e=-1;if((f|0)==-1){break h}c=f+1|0;e=(c>>>0)%3|0?c:f+ -2|0}c=e;if((h|0)!=(c|0)){continue}break}if((d|0)!=-1){break f}}d=d+((d>>>0)%3|0?-1:2)|0;if((d|0)==-1){break f}d=i[i[a+12>>2]+(d<<2)>>2];if((d|0)==-1){break f}c=d+((d>>>0)%3|0?-1:2)|0;if((c|0)==-1){break f}while(1){d=(c>>>3&536870908)+j|0;i[d>>2]=i[d>>2]|1<<(c&31);if(s){i[i[a>>2]+(c<<2)>>2]=i[k+8>>2]}d=((c>>>0)%3|0?-1:2)+c|0;if((d|0)==-1){break f}d=i[i[a+12>>2]+(d<<2)>>2];if((d|0)==-1){break f}c=d+((d>>>0)%3|0?-1:2)|0;if((c|0)!=-1){continue}break}}n=n+1|0;if((n|0)!=3){continue}break}c=i[a>>2];h=i[a+4>>2]}r=r+1|0;if(r>>>0<(h-c>>2>>>0)/3>>>0){continue}break b}break}Vm();x()}j=0;i[a+44>>2]=0;b=i[l>>2];c=i[l+4>>2];d=c>>>5|0;f=c&31;if(d|f){h=(d<<2)+b|0;e=b;c=0;while(1){if(!(i[e>>2]>>>c&1)){j=j+1|0;i[a+44>>2]=j}d=(c|0)==31;c=d?0:c+1|0;e=d?e+4|0:e;if((h|0)!=(e|0)|(c|0)!=(f|0)){continue}break}}a=i[q>>2];if(a){qn(a);b=i[l>>2]}if(b){qn(b)}L=k+48|0}function uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{f:{g:{h:{d=i[a+8>>2];switch(i[d+28>>2]+ -1|0){case 0:break c;case 3:break d;case 2:break e;case 5:break f;case 4:break g;case 1:break h;default:break a}}f=g[d+24|0];j=Gm((f|0)>-1?f:-1);c=i[a+16>>2];d=0;i:{if(!i[c+80>>2]){break i}d=i[i[c>>2]>>2]+i[c+48>>2]|0}if(!b){break b}while(1){c=0;if((f|0)>0){while(1){g[c+j|0]=i[d+(k<<2)>>2];k=k+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}sn(i[i[i[a+8>>2]+64>>2]>>2]+l|0,j,f);l=f+l|0;e=e+1|0;if((e|0)!=(b|0)){continue}break}break b}e=g[d+24|0];m=e<<2;j=Gm((e|0)!=(e&1073741823)?-1:m);c=i[a+16>>2];d=0;j:{if(!i[c+80>>2]){break j}d=i[i[c>>2]>>2]+i[c+48>>2]|0}if(!b){break b}while(1){c=0;if((e|0)>0){while(1){i[(c<<2)+j>>2]=i[d+(k<<2)>>2];k=k+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}sn(i[i[i[a+8>>2]+64>>2]>>2]+l|0,j,m);l=l+m|0;f=f+1|0;if((f|0)!=(b|0)){continue}break}break b}e=g[d+24|0];m=e<<2;j=Gm((e|0)!=(e&1073741823)?-1:m);c=i[a+16>>2];d=0;k:{if(!i[c+80>>2]){break k}d=i[i[c>>2]>>2]+i[c+48>>2]|0}if(!b){break b}while(1){c=0;if((e|0)>0){while(1){i[(c<<2)+j>>2]=i[d+(k<<2)>>2];k=k+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}sn(i[i[i[a+8>>2]+64>>2]>>2]+l|0,j,m);l=l+m|0;f=f+1|0;if((f|0)!=(b|0)){continue}break}break b}e=g[d+24|0];d=e+e|0;j=Gm(d>>>0>>0?-1:d);c=i[a+16>>2];d=0;l:{if(!i[c+80>>2]){break l}d=i[i[c>>2]>>2]+i[c+48>>2]|0}if(!b){break b}m=e<<1;while(1){c=0;if((e|0)>0){while(1){h[(c<<1)+j>>1]=i[d+(k<<2)>>2];k=k+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}sn(i[i[i[a+8>>2]+64>>2]>>2]+l|0,j,m);l=l+m|0;f=f+1|0;if((f|0)!=(b|0)){continue}break}break b}e=g[d+24|0];d=e+e|0;j=Gm(d>>>0>>0?-1:d);c=i[a+16>>2];d=0;m:{if(!i[c+80>>2]){break m}d=i[i[c>>2]>>2]+i[c+48>>2]|0}if(!b){break b}m=e<<1;while(1){c=0;if((e|0)>0){while(1){h[(c<<1)+j>>1]=i[d+(k<<2)>>2];k=k+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}sn(i[i[i[a+8>>2]+64>>2]>>2]+l|0,j,m);l=l+m|0;f=f+1|0;if((f|0)!=(b|0)){continue}break}break b}f=g[d+24|0];j=Gm((f|0)>-1?f:-1);c=i[a+16>>2];d=0;n:{if(!i[c+80>>2]){break n}d=i[i[c>>2]>>2]+i[c+48>>2]|0}if(!b){break b}while(1){c=0;if((f|0)>0){while(1){g[c+j|0]=i[d+(k<<2)>>2];k=k+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}sn(i[i[i[a+8>>2]+64>>2]>>2]+l|0,j,f);l=f+l|0;e=e+1|0;if((e|0)!=(b|0)){continue}break}}qn(j);j=1}return j|0}function ll(a,b){var c=0,d=0,e=0,f=0,h=0,k=0;a:{b:{d=b;h=i[b>>2];if(h){c=i[b+4>>2];if(!c){break b}while(1){d=c;c=i[c>>2];if(c){continue}break}}h=i[d+4>>2];if(h){break b}h=0;e=1;break a}i[h+8>>2]=i[d+8>>2];e=0}f=i[d+8>>2];c=i[f>>2];c:{if((d|0)==(c|0)){i[f>>2]=h;if((a|0)==(d|0)){c=0;a=h;break c}c=i[f+4>>2];break c}i[f+4>>2]=h}d:{e:{f:{k=!j[d+12|0];if((b|0)!=(d|0)){f=i[b+8>>2];i[d+8>>2]=f;i[f+((i[i[b+8>>2]>>2]!=(b|0))<<2)>>2]=d;f=i[b>>2];i[d>>2]=f;i[f+8>>2]=d;f=i[b+4>>2];i[d+4>>2]=f;if(f){i[f+8>>2]=d}g[d+12|0]=j[b+12|0];a=(a|0)==(b|0)?d:a}if(!(k|!a)){if(e){while(1){b=j[c+12|0];g:{e=i[c+8>>2];if(i[e>>2]!=(c|0)){if(!b){g[c+12|0]=1;g[e+12|0]=0;d=i[e+4>>2];b=i[d>>2];i[e+4>>2]=b;if(b){i[b+8>>2]=e}i[d+8>>2]=i[e+8>>2];b=i[e+8>>2];i[(((e|0)!=i[b>>2])<<2)+b>>2]=d;i[d>>2]=e;i[e+8>>2]=d;b=i[c>>2];a=(b|0)==(a|0)?c:a;c=i[b+4>>2]}d=i[c>>2];if(!(j[d+12|0]?0:d)){b=i[c+4>>2];if(j[b+12|0]?0:b){break f}g[c+12|0]=0;c=i[c+8>>2];h:{if((c|0)==(a|0)){c=a;break h}if(j[c+12|0]){break g}}g[c+12|0]=1;return}b=i[c+4>>2];if(b){break f}break e}i:{if(b){b=c;break i}g[c+12|0]=1;g[e+12|0]=0;b=i[c+4>>2];i[e>>2]=b;if(b){i[b+8>>2]=e}i[c+8>>2]=i[e+8>>2];d=i[e+8>>2];j:{if((e|0)==i[d>>2]){i[d>>2]=c;b=i[e>>2];break j}i[d+4>>2]=c}i[c+4>>2]=e;i[e+8>>2]=c;a=(a|0)==(e|0)?c:a}d=i[b>>2];k:{if(!(!d|j[d+12|0])){c=b;break k}c=i[b+4>>2];if(!(j[c+12|0]?0:c)){g[b+12|0]=0;c=i[b+8>>2];if(j[c+12|0]?(c|0)!=(a|0):0){break g}g[c+12|0]=1;return}if(d){if(!j[d+12|0]){c=b;break k}c=i[b+4>>2]}g[c+12|0]=1;g[b+12|0]=0;a=i[c>>2];i[b+4>>2]=a;if(a){i[a+8>>2]=b}i[c+8>>2]=i[b+8>>2];a=i[b+8>>2];i[((i[a>>2]!=(b|0))<<2)+a>>2]=c;i[c>>2]=b;i[b+8>>2]=c;d=b}a=c;c=i[c+8>>2];g[a+12|0]=j[c+12|0];g[c+12|0]=1;g[d+12|0]=1;b=i[c>>2];a=i[b+4>>2];i[c>>2]=a;if(a){i[a+8>>2]=c}i[b+8>>2]=i[c+8>>2];a=i[c+8>>2];i[(((c|0)!=i[a>>2])<<2)+a>>2]=b;i[b+4>>2]=c;i[c+8>>2]=b;return}b=i[c+8>>2];c=i[((i[b>>2]==(c|0))<<2)+b>>2];continue}}g[h+12|0]=1}return}if(j[b+12|0]){break e}d=c;break d}g[d+12|0]=1;g[c+12|0]=0;a=i[d+4>>2];i[c>>2]=a;if(a){i[a+8>>2]=c}i[d+8>>2]=i[c+8>>2];a=i[c+8>>2];i[((i[a>>2]!=(c|0))<<2)+a>>2]=d;i[d+4>>2]=c;i[c+8>>2]=d;b=c}c=i[d+8>>2];g[d+12|0]=j[c+12|0];g[c+12|0]=1;g[b+12|0]=1;b=i[c+4>>2];a=i[b>>2];i[c+4>>2]=a;if(a){i[a+8>>2]=c}i[b+8>>2]=i[c+8>>2];a=i[c+8>>2];i[(((c|0)!=i[a>>2])<<2)+a>>2]=b;i[b>>2]=c;i[c+8>>2]=b}function pd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=L-32|0;L=h;i[a+68>>2]=f;d=i[a+56>>2];e=i[d>>2];f=i[d+4>>2];i[h+24>>2]=0;i[h+16>>2]=0;i[h+20>>2]=0;a:{f=f-e|0;if((f|0)<1){break a}e=i[d>>2];if((e|0)!=i[d+4>>2]){n=a+60|0;d=f>>2;o=(d|0)>1?d:1;p=a+112|0;while(1){qd(n,i[(l<<2)+e>>2],h+16|0);e=i[h+20>>2];g=e>>31;f=i[h+16>>2];j=f>>31;m=i[h+24>>2];k=m>>31;d=0;k=k^k+m;g=k+((g^e+g)+(j^f+j)|0)|0;if(g>>>0>>0){d=1}j=g;b:{if(!(d|g)){i[h+16>>2]=i[a+108>>2];break b}g=i[a+108>>2];k=g>>31;e=Kn(Jn(g,k,e,e>>31),N,j,d);i[h+20>>2]=e;d=Kn(Jn(g,k,f,f>>31),N,j,d);i[h+16>>2]=d;if((m|0)>=0){i[h+24>>2]=(g+((d|0)<0?d:0-d|0)|0)+((e|0)<0?e:0-e|0);break b}f=d;d=d>>31;f=(f+d^d)-g|0;d=e>>31;i[h+24>>2]=f+(d+e^d)}d=Ee(p);f=i[h+16>>2];if(d){i[h+24>>2]=0-i[h+24>>2];i[h+20>>2]=0-i[h+20>>2];f=0-f|0;i[h+16>>2]=f}e=i[h+20>>2];c:{if((f|0)>=0){d=i[a+108>>2];f=d+i[h+24>>2]|0;d=d+e|0;break c}d:{if((e|0)<=-1){f=i[h+24>>2];d=f>>31;d=d^d+f;break d}f=i[h+24>>2];d=i[a+100>>2]+((f|0)<0?f:0-f|0)|0}if((f|0)<=-1){f=e;e=e>>31;f=f+e^e;break c}f=i[a+100>>2]+((e|0)<0?e:0-e|0)|0}e:{if(!(d|f)){f=i[a+100>>2];e=f;break e}g=i[a+100>>2];f:{g:{h:{if(!d){if((f|0)==(g|0)){e=f;break e}e=0;if(f|g){break h}f=0;break e}if(!((d|0)!=(g|0)|f)){f=d;e=d;break e}if((d|0)!=(g|0)){break f}j=i[a+108>>2];break g}j=i[a+108>>2];if((j|0)<(f|0)){f=(j<<1)-f|0;break e}if(g){break f}}g=d;if((j|0)<=(f|0)){break f}f=(j<<1)-f|0;e=d;break e}i:{if((f|0)!=(g|0)){break i}e=i[a+108>>2];if((e|0)<=(d|0)){break i}e=(e<<1)-d|0;break e}if(f){e=d;break e}f=0;e=i[a+108>>2];if((e|0)>=(d|0)){e=d;break e}e=(e<<1)-d|0}i[h+12>>2]=f;i[h+8>>2]=e;j:{if(i[a+8>>2]<1){break j}f=0;while(1){g=i[a+16>>2];k:{if((e|0)>(g|0)){d=i[a+32>>2];i[d+(f<<2)>>2]=g;break k}d=i[a+32>>2];g=d+(f<<2)|0;j=i[a+12>>2];if((e|0)<(j|0)){i[g>>2]=j;break k}i[g>>2]=e}f=f+1|0;g=i[a+8>>2];if((f|0)<(g|0)){e=i[(h+8|0)+(f<<2)>>2];continue}break}e=0;if((g|0)<1){break j}f=l<<3;j=f+c|0;m=b+f|0;while(1){g=e<<2;f=g+j|0;g=i[g+m>>2]+i[d+g>>2]|0;i[f>>2]=g;l:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break l}g=g+i[a+20>>2]|0}i[f>>2]=g}e=e+1|0;if((e|0)>2]){continue}break}}l=l+1|0;if((o|0)==(l|0)){break a}d=i[a+56>>2];e=i[d>>2];if(i[d+4>>2]-e>>2>>>0>l>>>0){continue}break}}Wm();x()}L=h+32|0;return 1}function Jd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=L-32|0;L=h;i[a+68>>2]=f;d=i[a+56>>2];e=i[d>>2];f=i[d+4>>2];i[h+24>>2]=0;i[h+16>>2]=0;i[h+20>>2]=0;a:{f=f-e|0;if((f|0)<1){break a}e=i[d>>2];if((e|0)!=i[d+4>>2]){n=a+60|0;d=f>>2;o=(d|0)>1?d:1;p=a+112|0;while(1){Kd(n,i[(l<<2)+e>>2],h+16|0);e=i[h+20>>2];g=e>>31;f=i[h+16>>2];j=f>>31;m=i[h+24>>2];k=m>>31;d=0;k=k^k+m;g=k+((g^e+g)+(j^f+j)|0)|0;if(g>>>0>>0){d=1}j=g;b:{if(!(d|g)){i[h+16>>2]=i[a+108>>2];break b}g=i[a+108>>2];k=g>>31;e=Kn(Jn(g,k,e,e>>31),N,j,d);i[h+20>>2]=e;d=Kn(Jn(g,k,f,f>>31),N,j,d);i[h+16>>2]=d;if((m|0)>=0){i[h+24>>2]=(g+((d|0)<0?d:0-d|0)|0)+((e|0)<0?e:0-e|0);break b}f=d;d=d>>31;f=(f+d^d)-g|0;d=e>>31;i[h+24>>2]=f+(d+e^d)}d=Ee(p);f=i[h+16>>2];if(d){i[h+24>>2]=0-i[h+24>>2];i[h+20>>2]=0-i[h+20>>2];f=0-f|0;i[h+16>>2]=f}e=i[h+20>>2];c:{if((f|0)>=0){d=i[a+108>>2];f=d+i[h+24>>2]|0;d=d+e|0;break c}d:{if((e|0)<=-1){f=i[h+24>>2];d=f>>31;d=d^d+f;break d}f=i[h+24>>2];d=i[a+100>>2]+((f|0)<0?f:0-f|0)|0}if((f|0)<=-1){f=e;e=e>>31;f=f+e^e;break c}f=i[a+100>>2]+((e|0)<0?e:0-e|0)|0}e:{if(!(d|f)){f=i[a+100>>2];e=f;break e}g=i[a+100>>2];f:{g:{h:{if(!d){if((f|0)==(g|0)){e=f;break e}e=0;if(f|g){break h}f=0;break e}if(!((d|0)!=(g|0)|f)){f=d;e=d;break e}if((d|0)!=(g|0)){break f}j=i[a+108>>2];break g}j=i[a+108>>2];if((j|0)<(f|0)){f=(j<<1)-f|0;break e}if(g){break f}}g=d;if((j|0)<=(f|0)){break f}f=(j<<1)-f|0;e=d;break e}i:{if((f|0)!=(g|0)){break i}e=i[a+108>>2];if((e|0)<=(d|0)){break i}e=(e<<1)-d|0;break e}if(f){e=d;break e}f=0;e=i[a+108>>2];if((e|0)>=(d|0)){e=d;break e}e=(e<<1)-d|0}i[h+12>>2]=f;i[h+8>>2]=e;j:{if(i[a+8>>2]<1){break j}f=0;while(1){g=i[a+16>>2];k:{if((e|0)>(g|0)){d=i[a+32>>2];i[d+(f<<2)>>2]=g;break k}d=i[a+32>>2];g=d+(f<<2)|0;j=i[a+12>>2];if((e|0)<(j|0)){i[g>>2]=j;break k}i[g>>2]=e}f=f+1|0;g=i[a+8>>2];if((f|0)<(g|0)){e=i[(h+8|0)+(f<<2)>>2];continue}break}e=0;if((g|0)<1){break j}f=l<<3;j=f+c|0;m=b+f|0;while(1){g=e<<2;f=g+j|0;g=i[g+m>>2]+i[d+g>>2]|0;i[f>>2]=g;l:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break l}g=g+i[a+20>>2]|0}i[f>>2]=g}e=e+1|0;if((e|0)>2]){continue}break}}l=l+1|0;if((o|0)==(l|0)){break a}d=i[a+56>>2];e=i[d>>2];if(i[d+4>>2]-e>>2>>>0>l>>>0){continue}break}}Wm();x()}L=h+32|0;return 1}function Ra(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=L-96|0;L=g;a:{b:{if(j[i[a+28>>2]+36|0]<=1){f=i[b+12>>2];c=i[b+20>>2];h=i[b+16>>2];d=h+4|0;if(d>>>0<4){c=c+1|0}e=d;d=c;if((f|0)<(c|0)?1:(f|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=h+i[b>>2]|0;h=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[g+92>>2]=h;i[b+16>>2]=e;i[b+20>>2]=d;break b}if(!Sa(1,g+92|0,b)){break a}h=i[g+92>>2]}if(!h){break a}d=i[b+8>>2];c=i[b+16>>2];c=Jn(d-c|0,i[b+12>>2]-(i[b+20>>2]+(d>>>0>>0)|0)|0,5,0)>>>0>>0;d=N;if((d|0)<0?1:(d|0)<=0?c:0){break a}c=i[a+4>>2];d=i[a+8>>2]-c>>2;c:{if(h>>>0>d>>>0){Ta(a+4|0,h-d|0);break c}if(h>>>0>=d>>>0){break c}i[a+8>>2]=c+(h<<2)}y=h>>>0>1?h:1;u=a+16|0;v=i[a+32>>2];w=1;while(1){d:{q=i[b+8>>2];m=i[b+16>>2];e=i[b+12>>2];c=e;d=i[b+20>>2];if((c|0)<(d|0)?1:(c|0)<=(d|0)?q>>>0<=m>>>0:0){break d}s=i[b>>2];x=j[s+m|0];c=d;n=m+1|0;if(n>>>0<1){c=c+1|0}f=b;i[b+16>>2]=n;i[b+20>>2]=c;if((e|0)<(c|0)?1:(e|0)<=(c|0)?q>>>0<=n>>>0:0){break d}n=j[n+s|0];c=d;p=m+2|0;if(p>>>0<2){c=c+1|0}i[b+16>>2]=p;i[f+20>>2]=c;if((e|0)<(c|0)?1:(e|0)<=(c|0)?q>>>0<=p>>>0:0){break d}p=j[p+s|0];c=d;t=m+3|0;if(t>>>0<3){c=c+1|0}i[b+16>>2]=t;i[f+20>>2]=c;if((e|0)<(c|0)?1:(e|0)<=(c|0)?q>>>0<=t>>>0:0){break d}e=j[t+s|0];c=d;d=m+4|0;if(d>>>0<4){c=c+1|0}i[b+16>>2]=d;i[f+20>>2]=c;if(!p|(x>>>0>4|(n+ -1&255)>>>0>10)){break d}m=Ga(g+24|0);d=o(Hh(n),p);Ha(m,x,p<<24>>24,n,(e|0)!=0,d,d>>31);d=k[i[a+28>>2]+36>>1];e:{if((d<<24|d<<8&16711680)>>>16>>>0<=258){f=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];d=e+2|0;if(d>>>0<2){c=c+1|0}q=d;d=c;if((f|0)<(c|0)?1:(f|0)<=(c|0)?l[b+8>>2]>>0:0){break d}c=e+i[b>>2]|0;c=j[c|0]|j[c+1|0]<<8;i[b+16>>2]=q;i[b+20>>2]=d;i[g+20>>2]=c;break e}if(!Sa(1,g+20|0,b)){break d}c=i[g+20>>2]}i[g+84>>2]=c;d=Gm(96);La(d,m);i[g+16>>2]=d;d=rl(v,g+16|0);f=i[g+16>>2];i[g+16>>2]=0;if(f){Ua(f)}e=d<<2;i[i[e+i[v+8>>2]>>2]+60>>2]=c;i[i[a+4>>2]+(r<<2)>>2]=d;c=i[a+16>>2];f=i[a+20>>2]-c>>2;f:{if((d|0)<(f|0)){break f}i[g+12>>2]=-1;d=d+1|0;if(d>>>0>f>>>0){Va(u,d-f|0,g+12|0);c=i[u>>2];break f}if(d>>>0>=f>>>0){break f}i[a+20>>2]=(d<<2)+c}i[c+e>>2]=r;r=r+1|0;w=r>>>0>>0;if((r|0)!=(y|0)){continue}}break}r=w^1}L=g+96|0;return r&1}function zl(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,p=0;h=L-672|0;L=h;e=i[b+12>>2];a:{g=i[b+20>>2];f=i[b+16>>2];d=f+4|0;if(d>>>0<4){g=g+1|0}b:{if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break b}d=f+i[b>>2]|0;m=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=m;d=i[b+20>>2];e=d;n=i[b+16>>2];g=n+4|0;if(g>>>0<4){d=d+1|0}i[b+16>>2]=g;i[b+20>>2]=d;if(m>>>0>31){break b}f=i[b+12>>2];d=n+8|0;if(d>>>0<8){e=e+1|0}if((f|0)<(e|0)?1:(f|0)<=(e|0)?l[b+8>>2]>>0:0){break b}d=g+i[b>>2]|0;i[a+4>>2]=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);d=i[b+20>>2];e=d;n=i[b+16>>2];g=n+4|0;if(g>>>0<4){d=d+1|0}i[b+16>>2]=g;i[b+20>>2]=d;m=i[b+12>>2];d=e;f=n+8|0;if(f>>>0<8){d=d+1|0}if((m|0)<(d|0)?1:(m|0)<=(d|0)?l[b+8>>2]>>0:0){break b}d=g+i[b>>2]|0;m=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+12>>2]=m;e=i[b+20>>2];f=e;d=b;p=d;n=i[d+16>>2];g=n+4|0;if(g>>>0<4){e=e+1|0}i[p+16>>2]=g;i[d+20>>2]=e;d=i[a+20>>2];if((d|0)!=(m|0)?d:0){break b}e=i[b+12>>2];d=f;f=n+8|0;if(f>>>0<8){d=d+1|0}if((e|0)<(d|0)?1:(e|0)<=(d|0)?l[b+8>>2]>>0:0){break b}d=g+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+16>>2]=e;d=b;p=d;g=i[d+20>>2];f=i[d+16>>2]+4|0;if(f>>>0<4){g=g+1|0}i[p+16>>2]=f;i[d+20>>2]=g;if(e>>>0>=7){i[h>>2]=e;zn(14876,h);break b}i[h+664>>2]=c;c:{if(!m){break c}e=i[c>>2];d:{if((i[c+8>>2]-e|0)/12>>>0>=m>>>0){break d}if(m>>>0>=357913942){break a}k=i[c+4>>2];d=o(m,12);f=Gm(d);g=d+f|0;d=f+o((k-e|0)/12|0,12)|0;e:{if((e|0)==(k|0)){f=d;break e}f=d;while(1){f=f+ -12|0;k=k+ -12|0;i[f>>2]=i[k>>2];i[f+4>>2]=i[k+4>>2];i[f+8>>2]=i[k+8>>2];if((e|0)!=(k|0)){continue}break}k=e}i[c+8>>2]=g;i[c+4>>2]=d;i[c>>2]=f;if(!k){break d}qn(k)}k=0;f:{switch(i[a+16>>2]){case 0:d=ib(h+8|0,3);Al(d,b,h+664|0);hb(d);break c;case 1:d=ib(h+8|0,3);Bl(d,b,h+664|0);hb(d);break c;case 2:d=mb(h+8|0,3);Cl(d,b,h+664|0);lb(d);break c;case 3:d=mb(h+8|0,3);Dl(d,b,h+664|0);lb(d);break c;case 4:d=qb(h+8|0,3);El(d,b,h+664|0);pb(d);break c;case 5:d=qb(h+8|0,3);Fl(d,b,h+664|0);pb(d);break c;case 6:break f;default:break b}}d=qb(h+8|0,3);Gl(d,b,h+664|0);pb(d)}k=i[a+12>>2]==((i[c+4>>2]-i[c>>2]|0)/12|0)}L=h+672|0;return k}Da(14937);x()}function me(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,n=0,o=0,q=0,r=0,s=0;g=L-48|0;L=g;d=i[a+8>>2];if(d+ -2>>>0<=28){i[a+76>>2]=d;e=-1<>2]=d;i[a+80>>2]=e^-1;i[a+92>>2]=(d|0)/2;m[a+88>>2]=p(2)/p(d|0)}i[a+52>>2]=f;e=i[a+40>>2];d=i[e>>2];f=i[e+4>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{f=f-d|0;if((f|0)<1){break a}d=i[e>>2];if((d|0)!=i[e+4>>2]){o=a+8|0;q=a+44|0;e=f>>2;r=(e|0)>1?e:1;s=a+96|0;while(1){Kd(q,i[(l<<2)+d>>2],g+8|0);e=i[g+12>>2];h=e>>31;f=i[g+8>>2];j=f>>31;n=i[g+16>>2];k=n>>31;d=0;k=k^k+n;h=k+((h^e+h)+(j^f+j)|0)|0;if(h>>>0>>0){d=1}b:{if(!(d|h)){i[g+8>>2]=i[a+92>>2];break b}j=i[a+92>>2];k=j>>31;e=Kn(Jn(j,k,e,e>>31),N,h,d);i[g+12>>2]=e;d=Kn(Jn(j,k,f,f>>31),N,h,d);i[g+8>>2]=d;if((n|0)>=0){i[g+16>>2]=(j+((d|0)<0?d:0-d|0)|0)+((e|0)<0?e:0-e|0);break b}f=d;d=d>>31;f=(f+d^d)-j|0;d=e>>31;i[g+16>>2]=f+(d+e^d)}d=Ee(s);f=i[g+8>>2];if(d){i[g+16>>2]=0-i[g+16>>2];i[g+12>>2]=0-i[g+12>>2];f=0-f|0;i[g+8>>2]=f}e=i[g+12>>2];c:{if((f|0)>=0){d=i[a+92>>2];f=d+i[g+16>>2]|0;d=d+e|0;break c}d:{if((e|0)<=-1){f=i[g+16>>2];d=f>>31;d=d^d+f;break d}f=i[g+16>>2];d=i[a+84>>2]+((f|0)<0?f:0-f|0)|0}if((f|0)<=-1){f=e;e=e>>31;f=f+e^e;break c}f=i[a+84>>2]+((e|0)<0?e:0-e|0)|0}e:{if(!(d|f)){f=i[a+84>>2];e=f;break e}h=i[a+84>>2];f:{g:{h:{if(!d){if((f|0)==(h|0)){e=f;break e}e=0;if(f|h){break h}f=0;break e}if(!((d|0)!=(h|0)|f)){f=d;e=d;break e}if((d|0)!=(h|0)){break f}j=i[a+92>>2];break g}j=i[a+92>>2];if((j|0)<(f|0)){f=(j<<1)-f|0;break e}if(h){break f}}h=d;if((j|0)<=(f|0)){break f}f=(j<<1)-f|0;e=d;break e}i:{if((f|0)!=(h|0)){break i}e=i[a+92>>2];if((e|0)<=(d|0)){break i}e=(e<<1)-d|0;break e}if(f){e=d;break e}f=0;e=i[a+92>>2];if((e|0)>=(d|0)){e=d;break e}e=(e<<1)-d|0}d=l<<3;h=d+b|0;j=i[h+4>>2];h=i[h>>2];i[g+36>>2]=f;i[g+32>>2]=e;i[g+24>>2]=h;i[g+28>>2]=j;ie(g+40|0,o,g+32|0,g+24|0);d=c+d|0;i[d>>2]=i[g+40>>2];i[d+4>>2]=i[g+44>>2];l=l+1|0;if((r|0)==(l|0)){break a}e=i[a+40>>2];d=i[e>>2];if(i[e+4>>2]-d>>2>>>0>l>>>0){continue}break}}Wm();x()}L=g+48|0;return 1}function he(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,n=0,o=0,q=0,r=0,s=0;g=L-48|0;L=g;d=i[a+8>>2];if(d+ -2>>>0<=28){i[a+76>>2]=d;e=-1<>2]=d;i[a+80>>2]=e^-1;i[a+92>>2]=(d|0)/2;m[a+88>>2]=p(2)/p(d|0)}i[a+52>>2]=f;e=i[a+40>>2];d=i[e>>2];f=i[e+4>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{f=f-d|0;if((f|0)<1){break a}d=i[e>>2];if((d|0)!=i[e+4>>2]){o=a+8|0;q=a+44|0;e=f>>2;r=(e|0)>1?e:1;s=a+96|0;while(1){qd(q,i[(l<<2)+d>>2],g+8|0);e=i[g+12>>2];h=e>>31;f=i[g+8>>2];j=f>>31;n=i[g+16>>2];k=n>>31;d=0;k=k^k+n;h=k+((h^e+h)+(j^f+j)|0)|0;if(h>>>0>>0){d=1}b:{if(!(d|h)){i[g+8>>2]=i[a+92>>2];break b}j=i[a+92>>2];k=j>>31;e=Kn(Jn(j,k,e,e>>31),N,h,d);i[g+12>>2]=e;d=Kn(Jn(j,k,f,f>>31),N,h,d);i[g+8>>2]=d;if((n|0)>=0){i[g+16>>2]=(j+((d|0)<0?d:0-d|0)|0)+((e|0)<0?e:0-e|0);break b}f=d;d=d>>31;f=(f+d^d)-j|0;d=e>>31;i[g+16>>2]=f+(d+e^d)}d=Ee(s);f=i[g+8>>2];if(d){i[g+16>>2]=0-i[g+16>>2];i[g+12>>2]=0-i[g+12>>2];f=0-f|0;i[g+8>>2]=f}e=i[g+12>>2];c:{if((f|0)>=0){d=i[a+92>>2];f=d+i[g+16>>2]|0;d=d+e|0;break c}d:{if((e|0)<=-1){f=i[g+16>>2];d=f>>31;d=d^d+f;break d}f=i[g+16>>2];d=i[a+84>>2]+((f|0)<0?f:0-f|0)|0}if((f|0)<=-1){f=e;e=e>>31;f=f+e^e;break c}f=i[a+84>>2]+((e|0)<0?e:0-e|0)|0}e:{if(!(d|f)){f=i[a+84>>2];e=f;break e}h=i[a+84>>2];f:{g:{h:{if(!d){if((f|0)==(h|0)){e=f;break e}e=0;if(f|h){break h}f=0;break e}if(!((d|0)!=(h|0)|f)){f=d;e=d;break e}if((d|0)!=(h|0)){break f}j=i[a+92>>2];break g}j=i[a+92>>2];if((j|0)<(f|0)){f=(j<<1)-f|0;break e}if(h){break f}}h=d;if((j|0)<=(f|0)){break f}f=(j<<1)-f|0;e=d;break e}i:{if((f|0)!=(h|0)){break i}e=i[a+92>>2];if((e|0)<=(d|0)){break i}e=(e<<1)-d|0;break e}if(f){e=d;break e}f=0;e=i[a+92>>2];if((e|0)>=(d|0)){e=d;break e}e=(e<<1)-d|0}d=l<<3;h=d+b|0;j=i[h+4>>2];h=i[h>>2];i[g+36>>2]=f;i[g+32>>2]=e;i[g+24>>2]=h;i[g+28>>2]=j;ie(g+40|0,o,g+32|0,g+24|0);d=c+d|0;i[d>>2]=i[g+40>>2];i[d+4>>2]=i[g+44>>2];l=l+1|0;if((r|0)==(l|0)){break a}e=i[a+40>>2];d=i[e>>2];if(i[e+4>>2]-d>>2>>>0>l>>>0){continue}break}}Wm();x()}L=g+48|0;return 1}function ce(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,n=0,o=0,q=0,r=0,s=0;g=L-48|0;L=g;d=i[a+8>>2];if(d+ -2>>>0<=28){i[a+76>>2]=d;e=-1<>2]=d;i[a+80>>2]=e^-1;i[a+92>>2]=(d|0)/2;m[a+88>>2]=p(2)/p(d|0)}i[a+52>>2]=f;e=i[a+40>>2];d=i[e>>2];f=i[e+4>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{f=f-d|0;if((f|0)<1){break a}d=i[e>>2];if((d|0)!=i[e+4>>2]){o=a+8|0;q=a+44|0;e=f>>2;r=(e|0)>1?e:1;s=a+96|0;while(1){Kd(q,i[(l<<2)+d>>2],g+8|0);e=i[g+12>>2];h=e>>31;f=i[g+8>>2];j=f>>31;n=i[g+16>>2];k=n>>31;d=0;k=k^k+n;h=k+((h^e+h)+(j^f+j)|0)|0;if(h>>>0>>0){d=1}b:{if(!(d|h)){i[g+8>>2]=i[a+92>>2];break b}j=i[a+92>>2];k=j>>31;e=Kn(Jn(j,k,e,e>>31),N,h,d);i[g+12>>2]=e;d=Kn(Jn(j,k,f,f>>31),N,h,d);i[g+8>>2]=d;if((n|0)>=0){i[g+16>>2]=(j+((d|0)<0?d:0-d|0)|0)+((e|0)<0?e:0-e|0);break b}f=d;d=d>>31;f=(f+d^d)-j|0;d=e>>31;i[g+16>>2]=f+(d+e^d)}d=Ee(s);f=i[g+8>>2];if(d){i[g+16>>2]=0-i[g+16>>2];i[g+12>>2]=0-i[g+12>>2];f=0-f|0;i[g+8>>2]=f}e=i[g+12>>2];c:{if((f|0)>=0){d=i[a+92>>2];f=d+i[g+16>>2]|0;d=d+e|0;break c}d:{if((e|0)<=-1){f=i[g+16>>2];d=f>>31;d=d^d+f;break d}f=i[g+16>>2];d=i[a+84>>2]+((f|0)<0?f:0-f|0)|0}if((f|0)<=-1){f=e;e=e>>31;f=f+e^e;break c}f=i[a+84>>2]+((e|0)<0?e:0-e|0)|0}e:{if(!(d|f)){f=i[a+84>>2];e=f;break e}h=i[a+84>>2];f:{g:{h:{if(!d){if((f|0)==(h|0)){e=f;break e}e=0;if(f|h){break h}f=0;break e}if(!((d|0)!=(h|0)|f)){f=d;e=d;break e}if((d|0)!=(h|0)){break f}j=i[a+92>>2];break g}j=i[a+92>>2];if((j|0)<(f|0)){f=(j<<1)-f|0;break e}if(h){break f}}h=d;if((j|0)<=(f|0)){break f}f=(j<<1)-f|0;e=d;break e}i:{if((f|0)!=(h|0)){break i}e=i[a+92>>2];if((e|0)<=(d|0)){break i}e=(e<<1)-d|0;break e}if(f){e=d;break e}f=0;e=i[a+92>>2];if((e|0)>=(d|0)){e=d;break e}e=(e<<1)-d|0}d=l<<3;h=d+b|0;j=i[h+4>>2];i[g+40>>2]=i[h>>2];i[g+44>>2]=j;i[g+28>>2]=f;i[g+24>>2]=e;_d(g+32|0,o,g+24|0,g+40|0);d=c+d|0;i[d>>2]=i[g+32>>2];i[d+4>>2]=i[g+36>>2];l=l+1|0;if((r|0)==(l|0)){break a}e=i[a+40>>2];d=i[e>>2];if(i[e+4>>2]-d>>2>>>0>l>>>0){continue}break}}Wm();x()}L=g+48|0;return 1}function Zd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,n=0,o=0,q=0,r=0,s=0;g=L-48|0;L=g;d=i[a+8>>2];if(d+ -2>>>0<=28){i[a+76>>2]=d;e=-1<>2]=d;i[a+80>>2]=e^-1;i[a+92>>2]=(d|0)/2;m[a+88>>2]=p(2)/p(d|0)}i[a+52>>2]=f;e=i[a+40>>2];d=i[e>>2];f=i[e+4>>2];i[g+16>>2]=0;i[g+8>>2]=0;i[g+12>>2]=0;a:{f=f-d|0;if((f|0)<1){break a}d=i[e>>2];if((d|0)!=i[e+4>>2]){o=a+8|0;q=a+44|0;e=f>>2;r=(e|0)>1?e:1;s=a+96|0;while(1){qd(q,i[(l<<2)+d>>2],g+8|0);e=i[g+12>>2];h=e>>31;f=i[g+8>>2];j=f>>31;n=i[g+16>>2];k=n>>31;d=0;k=k^k+n;h=k+((h^e+h)+(j^f+j)|0)|0;if(h>>>0>>0){d=1}b:{if(!(d|h)){i[g+8>>2]=i[a+92>>2];break b}j=i[a+92>>2];k=j>>31;e=Kn(Jn(j,k,e,e>>31),N,h,d);i[g+12>>2]=e;d=Kn(Jn(j,k,f,f>>31),N,h,d);i[g+8>>2]=d;if((n|0)>=0){i[g+16>>2]=(j+((d|0)<0?d:0-d|0)|0)+((e|0)<0?e:0-e|0);break b}f=d;d=d>>31;f=(f+d^d)-j|0;d=e>>31;i[g+16>>2]=f+(d+e^d)}d=Ee(s);f=i[g+8>>2];if(d){i[g+16>>2]=0-i[g+16>>2];i[g+12>>2]=0-i[g+12>>2];f=0-f|0;i[g+8>>2]=f}e=i[g+12>>2];c:{if((f|0)>=0){d=i[a+92>>2];f=d+i[g+16>>2]|0;d=d+e|0;break c}d:{if((e|0)<=-1){f=i[g+16>>2];d=f>>31;d=d^d+f;break d}f=i[g+16>>2];d=i[a+84>>2]+((f|0)<0?f:0-f|0)|0}if((f|0)<=-1){f=e;e=e>>31;f=f+e^e;break c}f=i[a+84>>2]+((e|0)<0?e:0-e|0)|0}e:{if(!(d|f)){f=i[a+84>>2];e=f;break e}h=i[a+84>>2];f:{g:{h:{if(!d){if((f|0)==(h|0)){e=f;break e}e=0;if(f|h){break h}f=0;break e}if(!((d|0)!=(h|0)|f)){f=d;e=d;break e}if((d|0)!=(h|0)){break f}j=i[a+92>>2];break g}j=i[a+92>>2];if((j|0)<(f|0)){f=(j<<1)-f|0;break e}if(h){break f}}h=d;if((j|0)<=(f|0)){break f}f=(j<<1)-f|0;e=d;break e}i:{if((f|0)!=(h|0)){break i}e=i[a+92>>2];if((e|0)<=(d|0)){break i}e=(e<<1)-d|0;break e}if(f){e=d;break e}f=0;e=i[a+92>>2];if((e|0)>=(d|0)){e=d;break e}e=(e<<1)-d|0}d=l<<3;h=d+b|0;j=i[h+4>>2];i[g+40>>2]=i[h>>2];i[g+44>>2]=j;i[g+28>>2]=f;i[g+24>>2]=e;_d(g+32|0,o,g+24|0,g+40|0);d=c+d|0;i[d>>2]=i[g+32>>2];i[d+4>>2]=i[g+36>>2];l=l+1|0;if((r|0)==(l|0)){break a}e=i[a+40>>2];d=i[e>>2];if(i[e+4>>2]-d>>2>>>0>l>>>0){continue}break}}Wm();x()}L=g+48|0;return 1}function Yk(a,b){var c=0,d=0,e=0,f=0,h=0,k=0,m=0,n=0,o=0,p=0,q=0;d=L-48|0;L=d;c=Gm(8);i[c+4>>2]=b;i[c>>2]=0;b=c+8|0;i[d+40>>2]=b;i[d+36>>2]=b;i[d+32>>2]=c;a:{b:{c:{d:{while(1){b=b+ -8|0;m=i[b+4>>2];q=i[b>>2];i[d+36>>2]=b;if(q){i[d+24>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;n=1;b=i[a>>2];h=i[b+16>>2];f=i[b+12>>2];c=i[b+20>>2];e:{if((f|0)<(c|0)?1:(f|0)<=(c|0)?l[b+8>>2]<=h>>>0:0){break e}e=j[h+i[b>>2]|0];f=h+1|0;if(f>>>0<1){c=c+1|0}i[b+16>>2]=f;i[b+20>>2]=c;Om(d+16|0,e);if(e){f=i[a>>2];p=Sm(d+16|0);k=i[f+12>>2];h=i[f+20>>2];o=i[f+16>>2];b=e;c=o+b|0;if(c>>>0>>0){h=h+1|0}if((k|0)<(h|0)?1:(k|0)<=(h|0)?l[f+8>>2]>>0:0){break e}sn(p,o+i[f>>2]|0,e);c=f;f=c;h=i[c+20>>2];e=b+i[c+16>>2]|0;if(e>>>0>>0){h=h+1|0}i[f+16>>2]=e;i[c+20>>2]=h}m=Gm(24);b=m;i[b+4>>2]=0;i[b+8>>2]=0;i[b+16>>2]=0;i[b+20>>2]=0;i[b>>2]=b+4;i[b+12>>2]=b+16;i[d+8>>2]=b;b=kl(q,d+16|0,d+8|0);c=i[d+8>>2];i[d+8>>2]=0;if(c){sh(c+12|0,i[c+16>>2]);th(c,i[c+4>>2]);qn(c)}n=b^1}if(g[d+27|0]<=-1){qn(i[d+16>>2])}if(n){break b}}if(!m){break b}i[d+16>>2]=0;if(!Zk(1,d+16|0,i[a>>2])){break b}b=0;c=i[d+16>>2];if(c){while(1){if(!_k(a,m)){break b}b=b+1|0;if((c|0)!=(b|0)){continue}break}}i[d+4>>2]=0;if(!Zk(1,d+4|0,i[a>>2])){break b}e=i[a>>2];c=i[e+8>>2];b=i[e+16>>2];p=i[d+4>>2];f=c-b>>>0

>>0;b=i[e+12>>2]-(i[e+20>>2]+(c>>>0>>0)|0)|0;if((b|0)<0?1:(b|0)<=0?f:0){break b}if(p){n=0;while(1){b=i[d+36>>2];c=i[d+40>>2];f:{if(b>>>0>>0){i[b+4>>2]=0;i[b>>2]=m;i[d+36>>2]=b+8;break f}k=i[d+32>>2];o=b-k|0;b=o>>3;h=b+1|0;if(h>>>0>=536870912){break d}f=b<<3;e=c-k|0;c=e>>2;e=e>>3>>>0<268435455?c>>>0>>0?h:c:536870911;b=0;g:{if(!e){break g}if(e>>>0>=536870912){break c}b=Gm(e<<3)}c=f+b|0;i[c+4>>2]=0;i[c>>2]=m;e=b+(e<<3)|0;c=c+8|0;if((o|0)>=1){sn(b,k,o)}i[d+40>>2]=e;i[d+36>>2]=c;i[d+32>>2]=b;if(!k){break f}qn(k)}n=n+1|0;if((p|0)!=(n|0)){continue}break}}b=i[d+36>>2];c=i[d+32>>2];if((b|0)!=(c|0)){continue}break}a=1;break a}Vm();x()}Da(14616);x()}c=i[d+32>>2];a=0}if(c){i[d+36>>2]=c;qn(c)}L=d+48|0;return a}function qf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;a:{c=k[b+38>>1];if(!c){break a}b:{if(c>>>0<=511){d=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];f=e+4|0;if(f>>>0<4){c=c+1|0}if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=e+i[b>>2]|0;f=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[a+12>>2]=f;d=i[b+20>>2];e=i[b+16>>2]+4|0;if(e>>>0<4){d=d+1|0}c=b;i[c+16>>2]=e;i[c+20>>2]=d;break b}c=a+12|0;if(!cf(1,c,b)){break a}f=i[c>>2]}d=i[a>>2];c=i[a+4>>2]-d>>2;c:{if(f>>>0>c>>>0){Ae(a,f-c|0);f=i[a+12>>2];break c}if(f>>>0>=c>>>0){break c}i[a+4>>2]=d+(f<<2)}if(!f){r=1;break a}o=i[b+8>>2];m=i[b+12>>2];while(1){e=i[b+16>>2];c=i[b+20>>2];if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=e>>>0:0){break a}p=i[b>>2];n=j[p+e|0];e=e+1|0;if(e>>>0<1){c=c+1|0}h=e;i[b+16>>2]=e;i[b+20>>2]=c;d=n>>>2|0;e=0;d:{e:{f:{g:{q=n&3;switch(q|0){case 3:break g;case 0:break e;default:break f}}c=d+g|0;if(c>>>0>=f>>>0){return 0}tn(i[a>>2]+(g<<2)|0,0,(n&252)+4|0);g=c;break d}while(1){if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=h>>>0:0){return 0}n=j[h+p|0];h=h+1|0;if(h>>>0<1){c=c+1|0}i[b+16>>2]=h;i[b+20>>2]=c;d=n<<(e<<3|6)|d;e=e+1|0;if((q|0)!=(e|0)){continue}break}}i[i[a>>2]+(g<<2)>>2]=d}g=g+1|0;f=i[a+12>>2];if(g>>>0>>0){continue}break}m=a+16|0;g=i[a>>2];b=i[a+16>>2];c=i[a+20>>2]-b|0;d=c>>2;h:{if(d>>>0<=1048575){Ae(m,1048576-d|0);break h}if((c|0)==4194304){break h}i[a+20>>2]=b+4194304}i:{j:{b=a+28|0;c=i[b>>2];d=i[a+32>>2]-c>>3;if(f>>>0>d>>>0){df(b,f-d|0);c=i[b>>2];break j}if(f>>>0>>0){i[a+32>>2]=(f<<3)+c}if(f){break j}b=0;a=0;break i}a=i[g>>2];e=0;i[c+4>>2]=0;i[c>>2]=a;b=1;d=i[g>>2];if(d>>>0<=1048576){b=0;while(1){k:{if(e>>>0>>0){a=i[m>>2];while(1){i[a+(e<<2)>>2]=b;e=e+1|0;if((d|0)!=(e|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){a=g+(b<<2)|0;e=i[a>>2];h=(b<<3)+c|0;i[h+4>>2]=d;i[h>>2]=e;e=d;d=d+i[a>>2]|0;if(d>>>0>1048576){break k}continue}}break}b=b>>>0>>0}a=(d|0)==1048576}return a&(b^1)}return r}function mf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;a:{c=k[b+38>>1];if(!c){break a}b:{if(c>>>0<=511){d=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];f=e+4|0;if(f>>>0<4){c=c+1|0}if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=e+i[b>>2]|0;f=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[a+12>>2]=f;d=i[b+20>>2];e=i[b+16>>2]+4|0;if(e>>>0<4){d=d+1|0}c=b;i[c+16>>2]=e;i[c+20>>2]=d;break b}c=a+12|0;if(!cf(1,c,b)){break a}f=i[c>>2]}d=i[a>>2];c=i[a+4>>2]-d>>2;c:{if(f>>>0>c>>>0){Ae(a,f-c|0);f=i[a+12>>2];break c}if(f>>>0>=c>>>0){break c}i[a+4>>2]=d+(f<<2)}if(!f){r=1;break a}o=i[b+8>>2];m=i[b+12>>2];while(1){e=i[b+16>>2];c=i[b+20>>2];if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=e>>>0:0){break a}p=i[b>>2];n=j[p+e|0];e=e+1|0;if(e>>>0<1){c=c+1|0}h=e;i[b+16>>2]=e;i[b+20>>2]=c;d=n>>>2|0;e=0;d:{e:{f:{g:{q=n&3;switch(q|0){case 3:break g;case 0:break e;default:break f}}c=d+g|0;if(c>>>0>=f>>>0){return 0}tn(i[a>>2]+(g<<2)|0,0,(n&252)+4|0);g=c;break d}while(1){if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=h>>>0:0){return 0}n=j[h+p|0];h=h+1|0;if(h>>>0<1){c=c+1|0}i[b+16>>2]=h;i[b+20>>2]=c;d=n<<(e<<3|6)|d;e=e+1|0;if((q|0)!=(e|0)){continue}break}}i[i[a>>2]+(g<<2)>>2]=d}g=g+1|0;f=i[a+12>>2];if(g>>>0>>0){continue}break}m=a+16|0;g=i[a>>2];b=i[a+16>>2];c=i[a+20>>2]-b|0;d=c>>2;h:{if(d>>>0<=262143){Ae(m,262144-d|0);break h}if((c|0)==1048576){break h}i[a+20>>2]=b- -1048576}i:{j:{b=a+28|0;c=i[b>>2];d=i[a+32>>2]-c>>3;if(f>>>0>d>>>0){df(b,f-d|0);c=i[b>>2];break j}if(f>>>0>>0){i[a+32>>2]=(f<<3)+c}if(f){break j}b=0;a=0;break i}a=i[g>>2];e=0;i[c+4>>2]=0;i[c>>2]=a;b=1;d=i[g>>2];if(d>>>0<=262144){b=0;while(1){k:{if(e>>>0>>0){a=i[m>>2];while(1){i[a+(e<<2)>>2]=b;e=e+1|0;if((d|0)!=(e|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){a=g+(b<<2)|0;e=i[a>>2];h=(b<<3)+c|0;i[h+4>>2]=d;i[h>>2]=e;e=d;d=d+i[a>>2]|0;if(d>>>0>262144){break k}continue}}break}b=b>>>0>>0}a=(d|0)==262144}return a&(b^1)}return r}function of(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;a:{c=k[b+38>>1];if(!c){break a}b:{if(c>>>0<=511){d=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];f=e+4|0;if(f>>>0<4){c=c+1|0}if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=e+i[b>>2]|0;f=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[a+12>>2]=f;d=i[b+20>>2];e=i[b+16>>2]+4|0;if(e>>>0<4){d=d+1|0}c=b;i[c+16>>2]=e;i[c+20>>2]=d;break b}c=a+12|0;if(!cf(1,c,b)){break a}f=i[c>>2]}d=i[a>>2];c=i[a+4>>2]-d>>2;c:{if(f>>>0>c>>>0){Ae(a,f-c|0);f=i[a+12>>2];break c}if(f>>>0>=c>>>0){break c}i[a+4>>2]=d+(f<<2)}if(!f){r=1;break a}o=i[b+8>>2];m=i[b+12>>2];while(1){e=i[b+16>>2];c=i[b+20>>2];if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=e>>>0:0){break a}p=i[b>>2];n=j[p+e|0];e=e+1|0;if(e>>>0<1){c=c+1|0}h=e;i[b+16>>2]=e;i[b+20>>2]=c;d=n>>>2|0;e=0;d:{e:{f:{g:{q=n&3;switch(q|0){case 3:break g;case 0:break e;default:break f}}c=d+g|0;if(c>>>0>=f>>>0){return 0}tn(i[a>>2]+(g<<2)|0,0,(n&252)+4|0);g=c;break d}while(1){if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=h>>>0:0){return 0}n=j[h+p|0];h=h+1|0;if(h>>>0<1){c=c+1|0}i[b+16>>2]=h;i[b+20>>2]=c;d=n<<(e<<3|6)|d;e=e+1|0;if((q|0)!=(e|0)){continue}break}}i[i[a>>2]+(g<<2)>>2]=d}g=g+1|0;f=i[a+12>>2];if(g>>>0>>0){continue}break}m=a+16|0;g=i[a>>2];b=i[a+16>>2];c=i[a+20>>2]-b|0;d=c>>2;h:{if(d>>>0<=524287){Ae(m,524288-d|0);break h}if((c|0)==2097152){break h}i[a+20>>2]=b+2097152}i:{j:{b=a+28|0;c=i[b>>2];d=i[a+32>>2]-c>>3;if(f>>>0>d>>>0){df(b,f-d|0);c=i[b>>2];break j}if(f>>>0>>0){i[a+32>>2]=(f<<3)+c}if(f){break j}b=0;a=0;break i}a=i[g>>2];e=0;i[c+4>>2]=0;i[c>>2]=a;b=1;d=i[g>>2];if(d>>>0<=524288){b=0;while(1){k:{if(e>>>0>>0){a=i[m>>2];while(1){i[a+(e<<2)>>2]=b;e=e+1|0;if((d|0)!=(e|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){a=g+(b<<2)|0;e=i[a>>2];h=(b<<3)+c|0;i[h+4>>2]=d;i[h>>2]=e;e=d;d=d+i[a>>2]|0;if(d>>>0>524288){break k}continue}}break}b=b>>>0>>0}a=(d|0)==524288}return a&(b^1)}return r}function kf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;a:{c=k[b+38>>1];if(!c){break a}b:{if(c>>>0<=511){d=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];f=e+4|0;if(f>>>0<4){c=c+1|0}if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=e+i[b>>2]|0;f=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[a+12>>2]=f;d=i[b+20>>2];e=i[b+16>>2]+4|0;if(e>>>0<4){d=d+1|0}c=b;i[c+16>>2]=e;i[c+20>>2]=d;break b}c=a+12|0;if(!cf(1,c,b)){break a}f=i[c>>2]}d=i[a>>2];c=i[a+4>>2]-d>>2;c:{if(f>>>0>c>>>0){Ae(a,f-c|0);f=i[a+12>>2];break c}if(f>>>0>=c>>>0){break c}i[a+4>>2]=d+(f<<2)}if(!f){r=1;break a}o=i[b+8>>2];m=i[b+12>>2];while(1){e=i[b+16>>2];c=i[b+20>>2];if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=e>>>0:0){break a}p=i[b>>2];n=j[p+e|0];e=e+1|0;if(e>>>0<1){c=c+1|0}h=e;i[b+16>>2]=e;i[b+20>>2]=c;d=n>>>2|0;e=0;d:{e:{f:{g:{q=n&3;switch(q|0){case 3:break g;case 0:break e;default:break f}}c=d+g|0;if(c>>>0>=f>>>0){return 0}tn(i[a>>2]+(g<<2)|0,0,(n&252)+4|0);g=c;break d}while(1){if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=h>>>0:0){return 0}n=j[h+p|0];h=h+1|0;if(h>>>0<1){c=c+1|0}i[b+16>>2]=h;i[b+20>>2]=c;d=n<<(e<<3|6)|d;e=e+1|0;if((q|0)!=(e|0)){continue}break}}i[i[a>>2]+(g<<2)>>2]=d}g=g+1|0;f=i[a+12>>2];if(g>>>0>>0){continue}break}m=a+16|0;g=i[a>>2];b=i[a+16>>2];c=i[a+20>>2]-b|0;d=c>>2;h:{if(d>>>0<=65535){Ae(m,65536-d|0);break h}if((c|0)==262144){break h}i[a+20>>2]=b+262144}i:{j:{b=a+28|0;c=i[b>>2];d=i[a+32>>2]-c>>3;if(f>>>0>d>>>0){df(b,f-d|0);c=i[b>>2];break j}if(f>>>0>>0){i[a+32>>2]=(f<<3)+c}if(f){break j}b=0;a=0;break i}a=i[g>>2];e=0;i[c+4>>2]=0;i[c>>2]=a;b=1;d=i[g>>2];if(d>>>0<=65536){b=0;while(1){k:{if(e>>>0>>0){a=i[m>>2];while(1){i[a+(e<<2)>>2]=b;e=e+1|0;if((d|0)!=(e|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){a=g+(b<<2)|0;e=i[a>>2];h=(b<<3)+c|0;i[h+4>>2]=d;i[h>>2]=e;e=d;d=d+i[a>>2]|0;if(d>>>0>65536){break k}continue}}break}b=b>>>0>>0}a=(d|0)==65536}return a&(b^1)}return r}function hf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;a:{c=k[b+38>>1];if(!c){break a}b:{if(c>>>0<=511){d=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];f=e+4|0;if(f>>>0<4){c=c+1|0}if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=e+i[b>>2]|0;f=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[a+12>>2]=f;d=i[b+20>>2];e=i[b+16>>2]+4|0;if(e>>>0<4){d=d+1|0}c=b;i[c+16>>2]=e;i[c+20>>2]=d;break b}c=a+12|0;if(!cf(1,c,b)){break a}f=i[c>>2]}d=i[a>>2];c=i[a+4>>2]-d>>2;c:{if(f>>>0>c>>>0){Ae(a,f-c|0);f=i[a+12>>2];break c}if(f>>>0>=c>>>0){break c}i[a+4>>2]=d+(f<<2)}if(!f){r=1;break a}o=i[b+8>>2];m=i[b+12>>2];while(1){e=i[b+16>>2];c=i[b+20>>2];if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=e>>>0:0){break a}p=i[b>>2];n=j[p+e|0];e=e+1|0;if(e>>>0<1){c=c+1|0}h=e;i[b+16>>2]=e;i[b+20>>2]=c;d=n>>>2|0;e=0;d:{e:{f:{g:{q=n&3;switch(q|0){case 3:break g;case 0:break e;default:break f}}c=d+g|0;if(c>>>0>=f>>>0){return 0}tn(i[a>>2]+(g<<2)|0,0,(n&252)+4|0);g=c;break d}while(1){if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=h>>>0:0){return 0}n=j[h+p|0];h=h+1|0;if(h>>>0<1){c=c+1|0}i[b+16>>2]=h;i[b+20>>2]=c;d=n<<(e<<3|6)|d;e=e+1|0;if((q|0)!=(e|0)){continue}break}}i[i[a>>2]+(g<<2)>>2]=d}g=g+1|0;f=i[a+12>>2];if(g>>>0>>0){continue}break}m=a+16|0;g=i[a>>2];b=i[a+16>>2];c=i[a+20>>2]-b|0;d=c>>2;h:{if(d>>>0<=32767){Ae(m,32768-d|0);break h}if((c|0)==131072){break h}i[a+20>>2]=b+131072}i:{j:{b=a+28|0;c=i[b>>2];d=i[a+32>>2]-c>>3;if(f>>>0>d>>>0){df(b,f-d|0);c=i[b>>2];break j}if(f>>>0>>0){i[a+32>>2]=(f<<3)+c}if(f){break j}b=0;a=0;break i}a=i[g>>2];e=0;i[c+4>>2]=0;i[c>>2]=a;b=1;d=i[g>>2];if(d>>>0<=32768){b=0;while(1){k:{if(e>>>0>>0){a=i[m>>2];while(1){i[a+(e<<2)>>2]=b;e=e+1|0;if((d|0)!=(e|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){a=g+(b<<2)|0;e=i[a>>2];h=(b<<3)+c|0;i[h+4>>2]=d;i[h>>2]=e;e=d;d=d+i[a>>2]|0;if(d>>>0>32768){break k}continue}}break}b=b>>>0>>0}a=(d|0)==32768}return a&(b^1)}return r}function ff(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;a:{c=k[b+38>>1];if(!c){break a}b:{if(c>>>0<=511){d=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];f=e+4|0;if(f>>>0<4){c=c+1|0}if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=e+i[b>>2]|0;f=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[a+12>>2]=f;d=i[b+20>>2];e=i[b+16>>2]+4|0;if(e>>>0<4){d=d+1|0}c=b;i[c+16>>2]=e;i[c+20>>2]=d;break b}c=a+12|0;if(!cf(1,c,b)){break a}f=i[c>>2]}d=i[a>>2];c=i[a+4>>2]-d>>2;c:{if(f>>>0>c>>>0){Ae(a,f-c|0);f=i[a+12>>2];break c}if(f>>>0>=c>>>0){break c}i[a+4>>2]=d+(f<<2)}if(!f){r=1;break a}o=i[b+8>>2];m=i[b+12>>2];while(1){e=i[b+16>>2];c=i[b+20>>2];if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=e>>>0:0){break a}p=i[b>>2];n=j[p+e|0];e=e+1|0;if(e>>>0<1){c=c+1|0}h=e;i[b+16>>2]=e;i[b+20>>2]=c;d=n>>>2|0;e=0;d:{e:{f:{g:{q=n&3;switch(q|0){case 3:break g;case 0:break e;default:break f}}c=d+g|0;if(c>>>0>=f>>>0){return 0}tn(i[a>>2]+(g<<2)|0,0,(n&252)+4|0);g=c;break d}while(1){if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=h>>>0:0){return 0}n=j[h+p|0];h=h+1|0;if(h>>>0<1){c=c+1|0}i[b+16>>2]=h;i[b+20>>2]=c;d=n<<(e<<3|6)|d;e=e+1|0;if((q|0)!=(e|0)){continue}break}}i[i[a>>2]+(g<<2)>>2]=d}g=g+1|0;f=i[a+12>>2];if(g>>>0>>0){continue}break}m=a+16|0;g=i[a>>2];b=i[a+16>>2];c=i[a+20>>2]-b|0;d=c>>2;h:{if(d>>>0<=8191){Ae(m,8192-d|0);break h}if((c|0)==32768){break h}i[a+20>>2]=b+32768}i:{j:{b=a+28|0;c=i[b>>2];d=i[a+32>>2]-c>>3;if(f>>>0>d>>>0){df(b,f-d|0);c=i[b>>2];break j}if(f>>>0>>0){i[a+32>>2]=(f<<3)+c}if(f){break j}b=0;a=0;break i}a=i[g>>2];e=0;i[c+4>>2]=0;i[c>>2]=a;b=1;d=i[g>>2];if(d>>>0<=8192){b=0;while(1){k:{if(e>>>0>>0){a=i[m>>2];while(1){i[a+(e<<2)>>2]=b;e=e+1|0;if((d|0)!=(e|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){a=g+(b<<2)|0;e=i[a>>2];h=(b<<3)+c|0;i[h+4>>2]=d;i[h>>2]=e;e=d;d=d+i[a>>2]|0;if(d>>>0>8192){break k}continue}}break}b=b>>>0>>0}a=(d|0)==8192}return a&(b^1)}return r}function Ve(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;a:{c=k[b+38>>1];if(!c){break a}b:{if(c>>>0<=511){d=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];f=e+4|0;if(f>>>0<4){c=c+1|0}if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=e+i[b>>2]|0;f=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[a+12>>2]=f;d=i[b+20>>2];e=i[b+16>>2]+4|0;if(e>>>0<4){d=d+1|0}c=b;i[c+16>>2]=e;i[c+20>>2]=d;break b}c=a+12|0;if(!cf(1,c,b)){break a}f=i[c>>2]}d=i[a>>2];c=i[a+4>>2]-d>>2;c:{if(f>>>0>c>>>0){Ae(a,f-c|0);f=i[a+12>>2];break c}if(f>>>0>=c>>>0){break c}i[a+4>>2]=d+(f<<2)}if(!f){r=1;break a}o=i[b+8>>2];m=i[b+12>>2];while(1){e=i[b+16>>2];c=i[b+20>>2];if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=e>>>0:0){break a}p=i[b>>2];n=j[p+e|0];e=e+1|0;if(e>>>0<1){c=c+1|0}h=e;i[b+16>>2]=e;i[b+20>>2]=c;d=n>>>2|0;e=0;d:{e:{f:{g:{q=n&3;switch(q|0){case 3:break g;case 0:break e;default:break f}}c=d+g|0;if(c>>>0>=f>>>0){return 0}tn(i[a>>2]+(g<<2)|0,0,(n&252)+4|0);g=c;break d}while(1){if((m|0)<(c|0)?1:(m|0)<=(c|0)?o>>>0<=h>>>0:0){return 0}n=j[h+p|0];h=h+1|0;if(h>>>0<1){c=c+1|0}i[b+16>>2]=h;i[b+20>>2]=c;d=n<<(e<<3|6)|d;e=e+1|0;if((q|0)!=(e|0)){continue}break}}i[i[a>>2]+(g<<2)>>2]=d}g=g+1|0;f=i[a+12>>2];if(g>>>0>>0){continue}break}m=a+16|0;g=i[a>>2];b=i[a+16>>2];c=i[a+20>>2]-b|0;d=c>>2;h:{if(d>>>0<=4095){Ae(m,4096-d|0);break h}if((c|0)==16384){break h}i[a+20>>2]=b+16384}i:{j:{b=a+28|0;c=i[b>>2];d=i[a+32>>2]-c>>3;if(f>>>0>d>>>0){df(b,f-d|0);c=i[b>>2];break j}if(f>>>0>>0){i[a+32>>2]=(f<<3)+c}if(f){break j}b=0;a=0;break i}a=i[g>>2];e=0;i[c+4>>2]=0;i[c>>2]=a;b=1;d=i[g>>2];if(d>>>0<=4096){b=0;while(1){k:{if(e>>>0>>0){a=i[m>>2];while(1){i[a+(e<<2)>>2]=b;e=e+1|0;if((d|0)!=(e|0)){continue}break}}b=b+1|0;if((f|0)!=(b|0)){a=g+(b<<2)|0;e=i[a>>2];h=(b<<3)+c|0;i[h+4>>2]=d;i[h>>2]=e;e=d;d=d+i[a>>2]|0;if(d>>>0>4096){break k}continue}}break}b=b>>>0>>0}a=(d|0)==4096}return a&(b^1)}return r}function Dk(a){var b=0,c=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=L-32|0;L=f;o=i[a>>2];c=i[a+4>>2];g[f|0]=0;p=Gk(f+16|0,c-o>>2,f);i[f+8>>2]=0;i[f>>2]=0;i[f+4>>2]=0;h=i[a>>2];b=i[a+4>>2];a:{b:{while(1){c:{q=0;l=0;if((b|0)==(h|0)){break c}while(1){j=i[p>>2];d:{if(i[j+(l>>>3&536870908)>>2]>>>(l&31)&1){break d}k=i[f>>2];i[f+4>>2]=k;b=l;while(1){e:{c=b+1|0;o=b;c=(c>>>0)%3|0?c:b+ -2|0;if((c|0)==-1){break e}d=i[i[a+12>>2]+(c<<2)>>2];if((d|0)==-1){break e}c=d+1|0;b=(c>>>0)%3|0?c:d+ -2|0;if((l|0)==(b|0)|(b|0)==-1){break e}if(!(i[(b>>>3&536870908)+j>>2]>>>(b&31)&1)){continue}}break}d=k;b=d;e=o;while(1){c=(e>>>3&536870908)+j|0;i[c>>2]=i[c>>2]|1<<(e&31);c=e+1|0;c=(c>>>0)%3|0?c:e+ -2|0;n=((e>>>0)%3|0?-1:2)+e|0;if((b|0)!=(d|0)){j=i[(c<<2)+h>>2];while(1){f:{if((j|0)!=i[b>>2]){break f}e=-1;m=i[b+4>>2];e=(n|0)!=-1?i[i[a+12>>2]+(n<<2)>>2]:e;if((m|0)==(e|0)){break f}d=-1;d=(m|0)!=-1?i[i[a+12>>2]+(m<<2)>>2]:d;if((e|0)!=-1){i[i[a+12>>2]+(e<<2)>>2]=-1}c=i[a+12>>2];if((d|0)!=-1){i[c+(d<<2)>>2]=-1}i[c+(n<<2)>>2]=-1;i[c+(m<<2)>>2]=-1;q=1;break d}b=b+8|0;if((d|0)!=(b|0)){continue}break}}m=n<<2;r=i[m+h>>2];b=i[f+8>>2];g:{if((b|0)!=(d|0)){i[d>>2]=r;i[d+4>>2]=c;i[f+4>>2]=d+8;break g}j=d-k|0;d=j>>3;h=d+1|0;if(h>>>0>=536870912){break b}s=d<<3;e=b-k|0;b=e>>2;h=e>>3>>>0<268435455?b>>>0>>0?h:b:536870911;d=0;h:{if(!h){break h}if(h>>>0>=536870912){break a}d=Gm(h<<3)}e=s+d|0;b=e;i[b>>2]=r;i[b+4>>2]=c;b=d+(h<<3)|0;c=e+8|0;if((j|0)>=1){sn(d,k,j)}i[f+8>>2]=b;i[f+4>>2]=c;i[f>>2]=d;if(!k){break g}qn(k)}i:{if((n|0)==-1){break i}c=i[m+i[a+12>>2]>>2];if((c|0)==-1){break i}e=c+((c>>>0)%3|0?-1:2)|0;if((o|0)==(e|0)|(e|0)==-1){break i}h=i[a>>2];j=i[p>>2];d=i[f+4>>2];k=i[f>>2];b=k;continue}break}h=i[a>>2]}l=l+1|0;b=i[a+4>>2];if(l>>>0>2>>>0){continue}break}if(q){continue}}break}a=i[f>>2];if(a){i[f+4>>2]=a;qn(a)}a=i[p>>2];if(a){qn(a)}L=f+32|0;return}Vm();x()}Da(14288);x()}function Wf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=L-16|0;L=j;c=i[a+4>>2];i[a+40>>2]=i[a>>2];i[a+44>>2]=c;e=a+32|0;c=e;d=i[c+4>>2];i[a+72>>2]=i[c>>2];i[a+76>>2]=d;d=a+24|0;g=i[d+4>>2];c=a- -64|0;i[c>>2]=i[d>>2];i[c+4>>2]=g;f=a+16|0;c=f;g=i[c+4>>2];i[a+56>>2]=i[c>>2];i[a+60>>2]=g;g=a+8|0;c=g;h=i[c+4>>2];i[a+48>>2]=i[c>>2];i[a+52>>2]=h;a:{b:{c=a+40|0;if(Eh(c,1,j+8|0)){h=i[c+4>>2];i[a>>2]=i[c>>2];i[a+4>>2]=h;h=i[c+36>>2];i[e>>2]=i[c+32>>2];i[e+4>>2]=h;e=i[c+28>>2];i[d>>2]=i[c+24>>2];i[d+4>>2]=e;d=i[c+20>>2];h=d;e=i[c+16>>2];i[f>>2]=e;i[f+4>>2]=d;d=i[c+12>>2];f=d;c=i[c+8>>2];i[g>>2]=c;i[g+4>>2]=d;d=e;g=c-d|0;l=i[j+12>>2];d=f-((c>>>0>>0)+h|0)|0;c=i[j+8>>2];if((l|0)==(d|0)&c>>>0<=g>>>0|l>>>0>>0){break b}}c=0;break a}f=h+l|0;e=c+e|0;if(e>>>0>>0){f=f+1|0}i[a+16>>2]=e;i[a+20>>2]=f;c:{if(k[a+38>>1]<=513){c=i[a+4>>2];i[a+96>>2]=i[a>>2];i[a+100>>2]=c;e=a+32|0;c=e;d=i[c+4>>2];i[a+128>>2]=i[c>>2];i[a+132>>2]=d;d=a+24|0;c=d;f=i[c+4>>2];i[a+120>>2]=i[c>>2];i[a+124>>2]=f;f=a+16|0;c=f;g=i[c+4>>2];i[a+112>>2]=i[c>>2];i[a+116>>2]=g;g=a+8|0;c=g;h=i[c+4>>2];i[a+104>>2]=i[c>>2];i[a+108>>2]=h;d:{c=a+96|0;if(Eh(c,1,j+8|0)){h=i[c+4>>2];i[a>>2]=i[c>>2];i[a+4>>2]=h;h=i[c+36>>2];i[e>>2]=i[c+32>>2];i[e+4>>2]=h;e=i[c+28>>2];i[d>>2]=i[c+24>>2];i[d+4>>2]=e;d=i[c+20>>2];h=d;e=i[c+16>>2];i[f>>2]=e;i[f+4>>2]=d;d=i[c+12>>2];f=d;c=i[c+8>>2];i[g>>2]=c;i[g+4>>2]=d;d=e;g=c-d|0;l=i[j+12>>2];d=f-((c>>>0>>0)+h|0)|0;c=i[j+8>>2];if((l|0)==(d|0)&c>>>0<=g>>>0|l>>>0>>0){break d}}c=0;break a}f=h+l|0;e=c+e|0;if(e>>>0>>0){f=f+1|0}i[a+16>>2]=e;i[a+20>>2]=f;break c}c=0;if(!Ce(a+80|0,a)){break a}}c=0;if(!ag(a)){break a}c=i[a+4>>2];i[b>>2]=i[a>>2];i[b+4>>2]=c;c=i[a+36>>2];i[b+32>>2]=i[a+32>>2];i[b+36>>2]=c;c=i[a+28>>2];i[b+24>>2]=i[a+24>>2];i[b+28>>2]=c;c=i[a+20>>2];i[b+16>>2]=i[a+16>>2];i[b+20>>2]=c;c=i[a+12>>2];i[b+8>>2]=i[a+8>>2];i[b+12>>2]=c;c=1}L=j+16|0;return c}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;a:{s=O[i[i[a>>2]+44>>2]](a)|0;if((s|0)<1){break a}h=i[b+4>>2]-i[b>>2]>>2;tc(a,h,s);d=i[a+16>>2];if(!i[d+80>>2]){break a}f=i[i[d>>2]>>2];if(!f){break a}m=i[c+8>>2];k=i[c+16>>2];g=i[c+12>>2];n=g;e=i[c+20>>2];if((n|0)<(e|0)?1:(n|0)<=(e|0)?m>>>0<=k>>>0:0){break a}n=o(h,s);q=f+i[d+48>>2]|0;r=i[c>>2];t=j[r+k|0];h=c;d=e;f=k+1|0;if(f>>>0<1){d=d+1|0}p=f;f=d;i[h+16>>2]=p;i[h+20>>2]=d;b:{c:{d:{if(t){if(Se(n,s,c,q)){break d}break a}if((g|0)<(f|0)?1:(g|0)<=(f|0)?m>>>0<=p>>>0:0){break a}h=j[p+r|0];d=e;e=k+2|0;if(e>>>0<2){d=d+1|0}i[c+16>>2]=e;i[c+20>>2]=d;d=Hh(5);e=i[i[a+16>>2]+64>>2];e=i[e+4>>2]-i[e>>2]|0;e:{if((d|0)==(h|0)){h=n<<2;if(e>>>0>>0){break a}f=i[c+12>>2];d=i[c+20>>2];k=i[c+16>>2];e=h;g=k+e|0;if(g>>>0>>0){d=d+1|0}if((f|0)>(d|0)?1:(f|0)>=(d|0)?l[c+8>>2]>=g>>>0:0){break e}break a}if(e>>>0>>0){break a}k=i[c+12>>2];d=i[c+20>>2];m=i[c+8>>2];f=m;p=i[c+16>>2];g=p;e=h;r=f-g>>>0>>0;f=k-(d+(f>>>0>>0)|0)|0;g=N;if((f|0)<(g|0)?1:(f|0)<=(g|0)?r:0){break a}f=1;if(!n){break c}g=0;f=m;m=e+p|0;if(m>>>0>>0){d=d+1|0}if((k|0)<(d|0)?1:(k|0)<=(d|0)?f>>>0>>0:0){break b}m=0;while(1){sn(q+(m<<2)|0,p+i[c>>2]|0,h);d=i[c+20>>2];p=e+i[c+16>>2]|0;if(p>>>0>>0){d=d+1|0}i[c+16>>2]=p;i[c+20>>2]=d;m=m+1|0;if((n|0)==(m|0)){break d}k=i[c+12>>2];r=e+p|0;if(r>>>0>>0){d=d+1|0}if((k|0)>(d|0)?1:(k|0)>=(d|0)?l[c+8>>2]>=r>>>0:0){continue}break}break b}sn(q,k+i[c>>2]|0,h);d=i[c+20>>2];f=e+i[c+16>>2]|0;if(f>>>0>>0){d=d+1|0}i[c+16>>2]=f;i[c+20>>2]=d}f=1;if(!n){break c}e=i[a+20>>2];if(e){f=0;if(O[i[i[e>>2]+32>>2]](e)|0){break c}}xh(q,n,q);f=0}e=i[a+20>>2];f:{if(!e){break f}if(!(O[i[i[e>>2]+40>>2]](e,c)|0)){break a}if(f){break f}g=0;a=i[a+20>>2];if(!(O[i[i[a>>2]+44>>2]](a,q,q,n,s,i[b>>2])|0)){break b}}g=1}return g|0}return 0}function Jf(a,b,c){var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=L+ -64|0;L=e;f=i[i[b+4>>2]+44>>2];d=Gm(80);i[d+12>>2]=0;i[d+16>>2]=0;i[d>>2]=12784;i[d+4>>2]=0;i[d+76>>2]=0;i[d+72>>2]=c;i[d+68>>2]=f;i[d+64>>2]=0;i[d+56>>2]=0;i[d+60>>2]=0;i[d+8>>2]=12948;j=d+20|0;i[j>>2]=0;i[j+4>>2]=0;n=d+28|0;k=n;i[k>>2]=0;i[k+4>>2]=0;i[d+36>>2]=0;i[d+40>>2]=0;k=d+44|0;i[k>>2]=0;i[k+4>>2]=0;i[d+52>>2]=0;b=i[b+8>>2];o=e+40|0;h=o;i[h>>2]=0;i[h+4>>2]=0;i[e+32>>2]=0;i[e+36>>2]=0;h=e+24|0;i[h>>2]=0;i[h+4>>2]=0;p=e+16|0;l=p;i[l>>2]=0;i[l+4>>2]=0;l=e+8|0;i[l>>2]=0;i[l+4>>2]=0;i[e+56>>2]=0;i[e+48>>2]=0;i[e+52>>2]=0;i[e>>2]=12948;i[e+4>>2]=b;m=i[b>>2];q=i[b+4>>2];g[e+63|0]=0;Lf(h,(q-m>>2>>>0)/3|0,e+63|0);h=i[e+4>>2];m=i[h+28>>2];h=i[h+24>>2];g[e+63|0]=0;Lf(e+36|0,m-h>>2,e+63|0);i[e+20>>2]=d;i[p>>2]=f;f=e+12|0;i[f>>2]=c;i[l>>2]=b;i[n>>2]=d;b=i[f+4>>2];i[j>>2]=i[f>>2];i[j+4>>2]=b;b=i[e+8>>2];i[d+12>>2]=i[e+4>>2];i[d+16>>2]=b;a:{b:{c=d;b=i[e+28>>2];if(b){f=d+32|0;c:{if(b>>>0<=i[d+40>>2]<<5>>>0){j=b+ -1>>>5|0;b=i[f>>2];break c}f=i[f>>2];if(f){qn(f);i[d+40>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;b=i[e+28>>2]}if((b|0)<=-1){break b}j=b+ -1>>>5|0;f=j+1|0;b=Gm(f<<2);i[d+40>>2]=f;i[d+36>>2]=0;i[d+32>>2]=b}un(b,i[e+24>>2],(j<<2)+4|0);b=i[e+28>>2]}else{b=0}i[c+36>>2]=b;h=d;b=i[o>>2];if(b){d:{if(b>>>0<=i[d+52>>2]<<5>>>0){c=b+ -1>>>5|0;b=i[k>>2];break d}c=i[k>>2];if(c){qn(c);i[d+52>>2]=0;i[d+44>>2]=0;i[d+48>>2]=0;b=i[e+40>>2]}if((b|0)<=-1){break a}c=b+ -1>>>5|0;j=c+1|0;b=Gm(j<<2);i[d+52>>2]=j;i[d+48>>2]=0;i[d+44>>2]=b}un(b,i[e+36>>2],(c<<2)+4|0);b=i[e+40>>2]}else{b=0}i[h+48>>2]=b;Oa(d+56|0,i[e+48>>2],i[e+52>>2]);i[a>>2]=d;i[e>>2]=12948;a=i[e+48>>2];if(a){i[e+52>>2]=a;qn(a)}i[e>>2]=12764;a=i[e+36>>2];if(a){qn(a)}a=i[e+24>>2];if(a){qn(a)}L=e- -64|0;return}Vm();x()}Vm();x()}function Wk(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=o(b,12)+a|0;n=f+12|0;p=f+8|0;i[n>>2]=i[p>>2];l=(c|0)==-1?-1:(c>>>0)/3|0;r=f+16|0;s=1;f=c;a:{b:{c:{while(1){d:{q=k;if(k){if((f|0)==-1){break d}if((Xk(a,((f>>>0)%3|0?-1:2)+f|0)|0)==-1){break a}c=f+1|0;c=(c>>>0)%3|0?c:f+ -2|0;if((c|0)==-1){break a}e=c+1|0;c=(e>>>0)%3|0?e:c+ -2|0;if((c|0)==-1){break a}c=i[i[i[a+4>>2]+12>>2]+(c<<2)>>2];if((c|0)==-1){break a}e=c+1|0;c=(e>>>0)%3|0?e:c+ -2|0;if((c|0)==-1){break a}l=(c>>>0)/3|0}h=i[a+56>>2]+(l>>>3&536870908)|0;g=i[h>>2];m=1<<(l&31);e:{if(g&m){break e}e=0;while(1){i[h>>2]=g|m;d=i[n>>2];j=i[r>>2];f:{if((d|0)!=(j|0)){i[d>>2]=l;i[n>>2]=d+4;break f}h=i[p>>2];m=d-h|0;d=m>>2;g=d+1|0;if(g>>>0>=1073741824){break c}t=d<<2;j=j-h|0;d=j>>1;g=j>>2>>>0<536870911?d>>>0>>0?g:d:1073741823;d=0;g:{if(!g){break g}if(g>>>0>=1073741824){break b}d=Gm(g<<2)}j=t+d|0;i[j>>2]=l;g=d+(g<<2)|0;j=j+4|0;if((m|0)>=1){sn(d,h,m)}i[p>>2]=d;i[n>>2]=j;i[r>>2]=g;if(!h){break f}qn(h)}d=e+1|0;h:{if(!e){break h}if(d&1){if((c|0)==-1){c=-1;break h}e=c+1|0;c=(e>>>0)%3|0?e:c+ -2|0;break h}f=q?c:f;if((c|0)==-1){c=-1;break h}if((c>>>0)%3|0){c=c+ -1|0;break h}c=c+2|0}c=Xk(a,c);if((c|0)!=-1){e=d;l=(c>>>0)/3|0;h=i[a+56>>2]+(l>>>3&268435452)|0;g=i[h>>2];m=1<<(l&31);if(!(g&m)){continue}}break}if(!(d&1)|k^1){break e}k=i[n>>2]+ -4|0;e=i[k>>2];d=i[a+56>>2]+(e>>>3&536870908)|0;q=i[d>>2];u=d,v=Nn(e)&q,i[u>>2]=v;i[n>>2]=k}k=1;e=s;s=0;if(e){continue}break a}break}f=-1;Xk(a,-1);break a}Vm();x()}Da(14548);x()}i[((b<<2)+a|0)+44>>2]=f;c=i[n>>2];b=i[p>>2];if((c|0)!=(b|0)){c=c-b>>2;f=c>>>0>1?c:1;a=i[a+56>>2];c=0;while(1){k=i[b+(c<<2)>>2];e=a+(k>>>3&536870908)|0;d=i[e>>2];u=e,v=Nn(k)&d,i[u>>2]=v;c=c+1|0;if((f|0)!=(c|0)){continue}break}}}function ie(a,b,c,d){var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i[b+16>>2];e=i[c+4>>2]-l|0;f=i[c>>2]-l|0;i[c>>2]=f;i[c+4>>2]=e;g=e>>31;h=g+e^g;g=f>>31;k=i[b+16>>2];m=(h+(g+f^g)|0)<=(k|0);if(!m){a:{b:{if((f|0)>=0){j=1;g=1;if((e|0)>-1){break a}h=1;j=-1;g=-1;if((f|0)>=1){break b}break a}h=-1;j=-1;g=-1;if((e|0)<1){break a}}j=(e|0)<1?-1:1;g=h}n=o(j,k);h=(e<<1)-n|0;i[c+4>>2]=h;e=f<<1;f=o(g,k);e=e-f|0;i[c>>2]=e;c:{if((o(g,j)|0)>=0){h=0-h|0;i[c>>2]=h;e=0-e|0;break c}i[c>>2]=h}e=(e+n|0)/2|0;i[c+4>>2]=e;f=(f+h|0)/2|0;i[c>>2]=f}d:{e:{f:{g:{h:{if(!f){if(e){break h}h=1;e=0;g=0;j=0;break d}h=1;g=(f|0)<0&(e|0)<1;i:{if((f|0)>=1){j=(e|0)>-1?2:1;if(!g){break i}g=f;break d}j=(e|0)>0?3:0;if(!g){break i}g=f;break d}h=j+ -1|0;j=0;g=f;j:{switch(h|0){case 2:break g;case 1:break j;case 0:break f;default:break e}}e=0-e|0;g=0-f|0;j=2;break e}if((e|0)<1){break f}}g=0-e|0;j=3;e=f;break e}j=1;g=e;e=0-f|0}f=c;i[f>>2]=g;i[f+4>>2]=e;h=0}f=i[d>>2]+g|0;i[a>>2]=f;e=i[d+4>>2]+e|0;i[a+4>>2]=e;k=i[b+16>>2];k:{if((k|0)<(f|0)){f=f-i[b+4>>2]|0;break k}if((f|0)>=(0-k|0)){break k}f=i[b+4>>2]+f|0}i[a>>2]=f;l:{if((k|0)<(e|0)){e=e-i[b+4>>2]|0;break l}if((e|0)>=(0-k|0)){break l}e=i[b+4>>2]+e|0}i[a+4>>2]=e;m:{if(h){c=e;break m}c=e;n:{o:{switch((4-j&3)+ -1|0){case 0:c=0-f|0;f=e;break n;case 1:c=0-e|0;f=0-f|0;break n;case 2:break o;default:break n}}c=f;f=0-e|0}i[a>>2]=f;i[a+4>>2]=c}if(!m){p:{q:{if((f|0)>=0){b=1;g=1;if((c|0)>-1){break p}e=1;b=-1;g=-1;if((f|0)>=1){break q}break p}e=-1;b=-1;g=-1;if((c|0)<1){break p}}b=(c|0)<1?-1:1;g=e}d=c<<1;c=o(b,k);e=d-c|0;i[a+4>>2]=e;d=o(g,k);f=(f<<1)-d|0;i[a>>2]=f;r:{if((o(b,g)|0)>=0){e=0-e|0;i[a>>2]=e;f=0-f|0;break r}i[a>>2]=e}c=(c+f|0)/2|0;i[a+4>>2]=c;f=(d+e|0)/2|0;i[a>>2]=f}i[a>>2]=f+l;i[a+4>>2]=c+l}function _g(a,b){var c=0,d=0,e=0;i[a>>2]=i[b>>2];i[a+4>>2]=i[b+4>>2];i[a+8>>2]=i[b+8>>2];c=b+12|0;i[a+12>>2]=i[c>>2];i[c>>2]=0;i[b+4>>2]=0;i[b+8>>2]=0;c=b+16|0;i[a+16>>2]=i[c>>2];i[a+20>>2]=i[b+20>>2];d=b+24|0;i[a+24>>2]=i[d>>2];i[d>>2]=0;i[c>>2]=0;i[c+4>>2]=0;d=j[b+28|0];e=a+40|0;i[e>>2]=0;c=a+32|0;i[c>>2]=0;i[c+4>>2]=0;g[a+28|0]=d;d=c;c=b+32|0;i[d>>2]=i[c>>2];i[a+36>>2]=i[b+36>>2];d=b+40|0;i[e>>2]=i[d>>2];i[d>>2]=0;i[c>>2]=0;i[c+4>>2]=0;d=a+52|0;i[d>>2]=0;c=a+44|0;i[c>>2]=0;i[c+4>>2]=0;e=c;c=b+44|0;i[e>>2]=i[c>>2];i[a+48>>2]=i[b+48>>2];e=d;d=b+52|0;i[e>>2]=i[d>>2];i[d>>2]=0;i[c>>2]=0;i[c+4>>2]=0;d=a- -64|0;i[d>>2]=0;c=a+56|0;i[c>>2]=0;i[c+4>>2]=0;e=c;c=b+56|0;i[e>>2]=i[c>>2];i[a+60>>2]=i[b+60>>2];e=d;d=b- -64|0;i[e>>2]=i[d>>2];i[d>>2]=0;i[c>>2]=0;i[c+4>>2]=0;i[a+68>>2]=i[b+68>>2];d=i[b+72>>2];e=a+84|0;i[e>>2]=0;c=a+76|0;i[c>>2]=0;i[c+4>>2]=0;i[a+72>>2]=d;d=c;c=b+76|0;i[d>>2]=i[c>>2];i[a+80>>2]=i[b+80>>2];d=b+84|0;i[e>>2]=i[d>>2];i[d>>2]=0;i[c>>2]=0;i[c+4>>2]=0;d=a+96|0;i[d>>2]=0;c=a+88|0;i[c>>2]=0;i[c+4>>2]=0;e=c;c=b+88|0;i[e>>2]=i[c>>2];i[a+92>>2]=i[b+92>>2];e=d;d=b+96|0;i[e>>2]=i[d>>2];i[d>>2]=0;i[c>>2]=0;i[c+4>>2]=0;c=j[b+100|0];d=a+112|0;i[d>>2]=0;i[a+104>>2]=0;i[a+108>>2]=0;g[a+100|0]=c;i[a+104>>2]=i[b+104>>2];i[a+108>>2]=i[b+108>>2];c=b+112|0;i[d>>2]=i[c>>2];i[c>>2]=0;i[b+104>>2]=0;i[b+108>>2]=0;d=a+124|0;i[d>>2]=0;c=a+116|0;i[c>>2]=0;i[c+4>>2]=0;e=c;c=b+116|0;i[e>>2]=i[c>>2];i[a+120>>2]=i[b+120>>2];e=d;d=b+124|0;i[e>>2]=i[d>>2];i[d>>2]=0;i[c>>2]=0;i[c+4>>2]=0;c=i[b+128>>2];d=a+140|0;i[d>>2]=0;i[a+132>>2]=0;i[a+136>>2]=0;i[a+128>>2]=c;i[a+132>>2]=i[b+132>>2];i[a+136>>2]=i[b+136>>2];c=b+140|0;i[d>>2]=i[c>>2];i[c>>2]=0;i[b+132>>2]=0;i[b+136>>2]=0;return a}function Zf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;h=L-16|0;L=h;i[h>>2]=b;g=-1;a:{if((b|0)==-1){i[h+4>>2]=-1;break a}c=b+1|0;i[h+4>>2]=(c>>>0)%3|0?c:b+ -2|0;if((b>>>0)%3|0){g=b+ -1|0;break a}g=b+2|0}i[h+8>>2]=g;q=(b|0)==-1?-1:(b>>>0)/3|0;b:{c:{d:{e:{while(1){f:{g:{if((b|0)!=-1){c=i[i[i[a+8>>2]+12>>2]+(b<<2)>>2];if((c|0)!=-1){break g}}g=0;c=i[a+216>>2];if((c|0)==i[a+220>>2]){break f}while(1){f=o(g,144)+c|0;j=f+136|0;c=i[j>>2];l=f+140|0;d=i[l>>2];h:{if(c>>>0>>0){i[c>>2]=b;i[j>>2]=c+4;break h}m=f+132|0;f=i[m>>2];k=c-f|0;c=k>>2;e=c+1|0;if(e>>>0>=1073741824){break e}n=c<<2;d=d-f|0;c=d>>1;e=d>>2>>>0<536870911?c>>>0>>0?e:c:1073741823;c=0;i:{if(!e){break i}if(e>>>0>=1073741824){break d}c=Gm(e<<2)}d=n+c|0;i[d>>2]=b;e=c+(e<<2)|0;d=d+4|0;if((k|0)>=1){sn(c,f,k)}i[m>>2]=c;i[j>>2]=d;i[l>>2]=e;if(!f){break h}qn(f)}g=g+1|0;c=i[a+216>>2];if(g>>>0<(i[a+220>>2]-c|0)/144>>>0){continue}break}break f}if((c>>>0)/3>>>0>>0){break f}g=0;if(i[a+220>>2]==i[a+216>>2]){break f}while(1){j:{if(!Ee(i[a+368>>2]+(g<<4)|0)){break j}f=i[a+216>>2]+o(g,144)|0;j=f+136|0;c=i[j>>2];l=f+140|0;d=i[l>>2];if(c>>>0>>0){i[c>>2]=b;i[j>>2]=c+4;break j}m=f+132|0;f=i[m>>2];k=c-f|0;c=k>>2;e=c+1|0;if(e>>>0>=1073741824){break c}n=c<<2;d=d-f|0;c=d>>1;e=d>>2>>>0<536870911?c>>>0>>0?e:c:1073741823;c=0;k:{if(!e){break k}if(e>>>0>=1073741824){break b}c=Gm(e<<2)}d=n+c|0;i[d>>2]=b;e=c+(e<<2)|0;d=d+4|0;if((k|0)>=1){sn(c,f,k)}i[m>>2]=c;i[j>>2]=d;i[l>>2]=e;if(!f){break j}qn(f)}g=g+1|0;if(g>>>0<(i[a+220>>2]-i[a+216>>2]|0)/144>>>0){continue}break}}p=p+1|0;if((p|0)!=3){b=i[(p<<2)+h>>2];continue}break}L=h+16|0;return 1}Vm();x()}Da(12220);x()}Vm();x()}Da(12220);x()}function Je(a,b,c,d){var e=0,f=0,h=0;e=L-80|0;L=e;f=i[c+36>>2];i[e+72>>2]=i[c+32>>2];i[e+76>>2]=f;h=i[c+28>>2];f=e- -64|0;i[f>>2]=i[c+24>>2];i[f+4>>2]=h;f=i[c+20>>2];i[e+56>>2]=i[c+16>>2];i[e+60>>2]=f;f=i[c+12>>2];i[e+48>>2]=i[c+8>>2];i[e+52>>2]=f;f=i[c+4>>2];i[e+40>>2]=i[c>>2];i[e+44>>2]=f;lh(a,e+40|0,e+24|0);a:{if(i[a>>2]){break a}h=a+4|0;if(g[a+15|0]<=-1){qn(i[h>>2])}if(j[e+31|0]){b=Gm(32);i[e>>2]=b;i[e+4>>2]=27;i[e+8>>2]=-2147483616;g[b+27|0]=0;c=j[11135]|j[11136]<<8|(j[11137]<<16|j[11138]<<24);g[b+23|0]=c;g[b+24|0]=c>>>8;g[b+25|0]=c>>>16;g[b+26|0]=c>>>24;c=j[11132]|j[11133]<<8|(j[11134]<<16|j[11135]<<24);d=j[11128]|j[11129]<<8|(j[11130]<<16|j[11131]<<24);g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=j[11124]|j[11125]<<8|(j[11126]<<16|j[11127]<<24);d=j[11120]|j[11121]<<8|(j[11122]<<16|j[11123]<<24);g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=j[11116]|j[11117]<<8|(j[11118]<<16|j[11119]<<24);d=j[11112]|j[11113]<<8|(j[11114]<<16|j[11115]<<24);g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[a>>2]=-1;Jm(h,e);if(g[e+11|0]>-1){break a}qn(i[e>>2]);break a}Ge(e,g[e+32|0]);f=i[e>>2];b:{if(f){i[a>>2]=f;Jm(h,e|4);break b}f=i[e+16>>2];i[e+16>>2]=0;oh(a,f,b,c,d);if(!i[a>>2]){if(g[h+11|0]<=-1){qn(i[h>>2])}i[a>>2]=0;i[a+4>>2]=0;i[a+8>>2]=0;i[a+12>>2]=0}if(!f){break b}O[i[i[f>>2]+4>>2]](f)}a=i[e+16>>2];i[e+16>>2]=0;if(a){O[i[i[a>>2]+4>>2]](a)}if(g[e+15|0]>-1){break a}qn(i[e+4>>2])}L=e+80|0}function ul(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;a:{if((b|0)<0){break a}c=i[a+12>>2];d=i[a+8>>2];if(c-d>>2>>>0<=b>>>0){break a}d=d+(b<<2)|0;e=i[d>>2];h=i[e+60>>2];f=i[e+56>>2];e=d+4|0;b:{if((e|0)!=(c|0)){while(1){j=i[e>>2];i[e>>2]=0;g=i[d>>2];i[d>>2]=j;if(g){Ua(g)}d=d+4|0;e=e+4|0;if((e|0)!=(c|0)){continue}break}c=i[a+12>>2];if((d|0)==(c|0)){break b}}while(1){c=c+ -4|0;e=i[c>>2];i[c>>2]=0;if(e){Ua(e)}if((c|0)!=(d|0)){continue}break}}i[a+12>>2]=d;c=i[a+4>>2];if(c){vl(c,h)}c:{if((f|0)>4){break c}d:{d=o(f,12)+a|0;c=i[d+20>>2];e=d+24|0;d=i[e>>2];if((c|0)==(d|0)){break d}while(1){if(i[c>>2]==(b|0)){break d}c=c+4|0;if((d|0)!=(c|0)){continue}break}break c}if((c|0)==(d|0)){break c}f=c+4|0;d=d-f|0;if(d){un(c,f,d)}i[e>>2]=c+d}c=i[a+24>>2];d=i[a+20>>2];if((c|0)!=(d|0)){c=c-d>>2;e=c>>>0>1?c:1;c=0;while(1){f=d+(c<<2)|0;g=i[f>>2];if((g|0)>(b|0)){i[f>>2]=g+ -1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=i[a+36>>2];d=i[a+32>>2];if((c|0)!=(d|0)){c=c-d>>2;e=c>>>0>1?c:1;c=0;while(1){f=d+(c<<2)|0;g=i[f>>2];if((g|0)>(b|0)){i[f>>2]=g+ -1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=i[a+48>>2];d=i[a+44>>2];if((c|0)!=(d|0)){c=c-d>>2;e=c>>>0>1?c:1;c=0;while(1){f=d+(c<<2)|0;g=i[f>>2];if((g|0)>(b|0)){i[f>>2]=g+ -1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=i[a+60>>2];d=i[a+56>>2];if((c|0)!=(d|0)){c=c-d>>2;e=c>>>0>1?c:1;c=0;while(1){f=d+(c<<2)|0;g=i[f>>2];if((g|0)>(b|0)){i[f>>2]=g+ -1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=i[a+72>>2];a=i[a+68>>2];if((c|0)==(a|0)){break a}c=c-a>>2;d=c>>>0>1?c:1;c=0;while(1){e=a+(c<<2)|0;f=i[e>>2];if((f|0)>(b|0)){i[e>>2]=f+ -1}c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function Yf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;h=L-16|0;L=h;i[h>>2]=b;g=-1;a:{if((b|0)==-1){i[h+4>>2]=-1;break a}c=b+1|0;i[h+4>>2]=(c>>>0)%3|0?c:b+ -2|0;if((b>>>0)%3|0){g=b+ -1|0;break a}g=b+2|0}i[h+8>>2]=g;b:{c:{while(1){d:{if(!((b|0)==-1|i[i[i[a+8>>2]+12>>2]+(b<<2)>>2]==-1)){g=0;if(i[a+220>>2]==i[a+216>>2]){break d}e:{while(1){f:{g:{if(!Ee(i[a+368>>2]+(g<<4)|0)){break g}f=i[a+216>>2]+o(g,144)|0;j=f+136|0;c=i[j>>2];l=f+140|0;d=i[l>>2];if(c>>>0>>0){i[c>>2]=b;i[j>>2]=c+4;break g}m=f+132|0;f=i[m>>2];k=c-f|0;c=k>>2;e=c+1|0;if(e>>>0>=1073741824){break f}n=c<<2;d=d-f|0;c=d>>1;e=d>>2>>>0<536870911?c>>>0>>0?e:c:1073741823;c=0;h:{if(!e){break h}if(e>>>0>=1073741824){break e}c=Gm(e<<2)}d=n+c|0;i[d>>2]=b;e=c+(e<<2)|0;d=d+4|0;if((k|0)>=1){sn(c,f,k)}i[m>>2]=c;i[j>>2]=d;i[l>>2]=e;if(!f){break g}qn(f)}g=g+1|0;if(g>>>0<(i[a+220>>2]-i[a+216>>2]|0)/144>>>0){continue}break d}break}Vm();x()}Da(12220);x()}g=0;c=i[a+216>>2];if((c|0)==i[a+220>>2]){break d}while(1){f=o(g,144)+c|0;j=f+136|0;c=i[j>>2];l=f+140|0;d=i[l>>2];i:{if(c>>>0>>0){i[c>>2]=b;i[j>>2]=c+4;break i}m=f+132|0;f=i[m>>2];k=c-f|0;c=k>>2;e=c+1|0;if(e>>>0>=1073741824){break c}n=c<<2;d=d-f|0;c=d>>1;e=d>>2>>>0<536870911?c>>>0>>0?e:c:1073741823;c=0;j:{if(!e){break j}if(e>>>0>=1073741824){break b}c=Gm(e<<2)}d=n+c|0;i[d>>2]=b;e=c+(e<<2)|0;d=d+4|0;if((k|0)>=1){sn(c,f,k)}i[m>>2]=c;i[j>>2]=d;i[l>>2]=e;if(!f){break i}qn(f)}g=g+1|0;c=i[a+216>>2];if(g>>>0<(i[a+220>>2]-c|0)/144>>>0){continue}break}}p=p+1|0;if((p|0)!=3){b=i[(p<<2)+h>>2];continue}break}L=h+16|0;return 1}Vm();x()}Da(12220);x()}function Ge(a,b){var c=0,d=0,e=0;e=L-32|0;L=e;a:{b:{switch(b|0){case 0:c=Gm(44);b=c;i[b>>2]=0;i[b+4>>2]=0;i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=0;i[b+28>>2]=0;i[b+16>>2]=0;i[b+20>>2]=0;i[b+8>>2]=0;i[b+12>>2]=0;kh(b);i[b>>2]=13952;i[a+8>>2]=0;i[a+12>>2]=0;i[a>>2]=0;i[a+4>>2]=0;i[a+16>>2]=b;break a;case 1:c=Gm(44);b=c;i[b>>2]=0;i[b+4>>2]=0;i[b+40>>2]=0;i[b+32>>2]=0;i[b+36>>2]=0;i[b+24>>2]=0;i[b+28>>2]=0;i[b+16>>2]=0;i[b+20>>2]=0;i[b+8>>2]=0;i[b+12>>2]=0;kh(b);i[b>>2]=13860;i[a+8>>2]=0;i[a+12>>2]=0;i[a>>2]=0;i[a+4>>2]=0;i[a+16>>2]=b;break a;default:break b}}b=Gm(32);i[e>>2]=b;i[e+4>>2]=28;i[e+8>>2]=-2147483616;g[b+28|0]=0;c=j[11080]|j[11081]<<8|(j[11082]<<16|j[11083]<<24);g[b+24|0]=c;g[b+25|0]=c>>>8;g[b+26|0]=c>>>16;g[b+27|0]=c>>>24;c=j[11076]|j[11077]<<8|(j[11078]<<16|j[11079]<<24);d=j[11072]|j[11073]<<8|(j[11074]<<16|j[11075]<<24);g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=j[11068]|j[11069]<<8|(j[11070]<<16|j[11071]<<24);d=j[11064]|j[11065]<<8|(j[11066]<<16|j[11067]<<24);g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=j[11060]|j[11061]<<8|(j[11062]<<16|j[11063]<<24);d=j[11056]|j[11057]<<8|(j[11058]<<16|j[11059]<<24);g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[e+16>>2]=-1;b=Jm(e+16|4,e);i[a>>2]=i[e+16>>2];Jm(a+4|0,b);i[a+16>>2]=0;if(g[b+11|0]<=-1){qn(i[b>>2])}if(g[e+11|0]>-1){break a}qn(i[e>>2])}L=e+32|0}function hc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=L-16|0;L=e;h=O[i[i[a>>2]+24>>2]](a)|0;a:{if((h|0)<1){break a}q=a+48|0;k=1;while(1){b:{c:{if(!i[(O[i[i[a>>2]+28>>2]](a)|0)+40>>2]){break c}l=f<<2;b=i[l+i[a+36>>2]>>2];c=i[b+8>>2];m=Xb(b);if(!m){break c}n=i[(O[i[i[a>>2]+28>>2]](a)|0)+40>>2];o=i[c+56>>2];b=Gm(32);i[e>>2]=b;i[e+4>>2]=24;i[e+8>>2]=-2147483616;g[b+24|0]=0;c=j[2120]|j[2121]<<8|(j[2122]<<16|j[2123]<<24);d=j[2116]|j[2117]<<8|(j[2118]<<16|j[2119]<<24);g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=j[2112]|j[2113]<<8|(j[2114]<<16|j[2115]<<24);d=j[2108]|j[2109]<<8|(j[2110]<<16|j[2111]<<24);g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=j[2104]|j[2105]<<8|(j[2106]<<16|j[2107]<<24);d=j[2100]|j[2101]<<8|(j[2102]<<16|j[2103]<<24);g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;d:{e:{d=n+16|0;b=d;c=i[b>>2];if(!c){break e}while(1){p=i[c+16>>2]<(o|0);b=p?b:c;c=i[(p<<2)+c>>2];if(c){continue}break}if((b|0)==(d|0)|(o|0)>2]){break e}b=b+20|0;if(!Mb(b,e)){break e}b=Lh(b,e);break d}b=Lh(n,e)}if(g[e+11|0]<=-1){qn(i[e>>2])}if(!b){break c}Na(i[i[i[a+36>>2]+l>>2]+8>>2],m);break b}b=i[i[a+36>>2]+(f<<2)>>2];if(!(O[i[i[b>>2]+24>>2]](b,q)|0)){break a}}f=f+1|0;k=(f|0)<(h|0);if((f|0)!=(h|0)){continue}break}}L=e+16|0;return(k^-1)&1}function Qe(a,b,c,d,e){var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;a:{b:{c:{d:{e:{n=a+4|0;f:{if((n|0)==(b|0)){break f}f=j[b+27|0];h=f<<24>>24<0;k=j[e+11|0];p=k<<24>>24;g=(p|0)<0;f=h?i[b+20>>2]:f;k=g?i[e+4>>2]:k;l=f>>>0>>0;m=l?f:k;if(m){g=g?i[e>>2]:e;o=b+16|0;h=h?i[o>>2]:o;o=Pl(g,h,m);if(!o){if(k>>>0>>0){break f}break e}if((o|0)>-1){break e}break f}if(k>>>0>=f>>>0){break d}}h=i[b>>2];g:{h:{if(i[a>>2]==(b|0)){d=b;break h}i:{if(h){f=h;while(1){d=f;f=i[f+4>>2];if(f){continue}break}break i}d=b+8|0;if(i[i[b+8>>2]>>2]==(b|0)){while(1){f=i[d>>2];d=f+8|0;if((f|0)==i[i[f+8>>2]>>2]){continue}break}}d=i[d>>2]}g=j[e+11|0];f=g<<24>>24<0;l=j[d+27|0];k=l<<24>>24<0;j:{g=f?i[e+4>>2]:g;l=k?i[d+20>>2]:l;m=g>>>0>>0?g:l;if(m){n=d+16|0;f=Pl(k?i[n>>2]:n,f?i[e>>2]:e,m);if(f){break j}}if(l>>>0>>0){break h}break g}if((f|0)>-1){break g}}if(!h){i[c>>2]=b;return b}i[c>>2]=d;return d+4|0}return Re(a,c,e)}f=Pl(h,g,m);if(f){break c}}if(l){break b}break a}if((f|0)>-1){break a}}h=i[b+4>>2];k:{if(h){f=h;while(1){d=f;f=i[f>>2];if(f){continue}break}break k}d=i[b+8>>2];if(i[d>>2]==(b|0)){break k}f=b+8|0;while(1){g=i[f>>2];f=g+8|0;d=i[g+8>>2];if((g|0)!=i[d>>2]){continue}break}}l:{m:{if((d|0)==(n|0)){break m}g=j[d+27|0];f=g<<24>>24<0;n:{g=f?i[d+20>>2]:g;l=g>>>0>>0?g:k;if(l){m=d+16|0;f=Pl((p|0)<0?i[e>>2]:e,f?i[m>>2]:m,l);if(f){break n}}if(k>>>0>>0){break m}break l}if((f|0)>-1){break l}}if(!h){i[c>>2]=b;return b+4|0}i[c>>2]=d;return d}return Re(a,c,e)}i[c>>2]=b;i[d>>2]=b;return d}function Ie(a,b){var c=0,d=0,e=0;c=L-96|0;L=c;d=i[b+36>>2];i[c+88>>2]=i[b+32>>2];i[c+92>>2]=d;d=i[b+28>>2];i[c+80>>2]=i[b+24>>2];i[c+84>>2]=d;d=i[b+20>>2];i[c+72>>2]=i[b+16>>2];i[c+76>>2]=d;e=i[b+12>>2];d=c- -64|0;i[d>>2]=i[b+8>>2];i[d+4>>2]=e;d=i[b+4>>2];i[c+56>>2]=i[b>>2];i[c+60>>2]=d;lh(c+24|0,c+56|0,c+40|0);b=i[c+24>>2];a:{if(b){i[a>>2]=b;Jm(a+4|0,c+24|4);if(g[c+39|0]>-1){break a}qn(i[c+28>>2]);break a}if(g[c+39|0]<=-1){qn(i[c+28>>2])}b=j[c+47|0];if(b>>>0>=2){b=Gm(32);i[c+8>>2]=b;i[c+12>>2]=26;i[c+16>>2]=-2147483616;g[b+26|0]=0;d=j[11109]|j[11110]<<8;g[b+24|0]=d;g[b+25|0]=d>>>8;d=j[11105]|j[11106]<<8|(j[11107]<<16|j[11108]<<24);e=j[11101]|j[11102]<<8|(j[11103]<<16|j[11104]<<24);g[b+16|0]=e;g[b+17|0]=e>>>8;g[b+18|0]=e>>>16;g[b+19|0]=e>>>24;g[b+20|0]=d;g[b+21|0]=d>>>8;g[b+22|0]=d>>>16;g[b+23|0]=d>>>24;d=j[11097]|j[11098]<<8|(j[11099]<<16|j[11100]<<24);e=j[11093]|j[11094]<<8|(j[11095]<<16|j[11096]<<24);g[b+8|0]=e;g[b+9|0]=e>>>8;g[b+10|0]=e>>>16;g[b+11|0]=e>>>24;g[b+12|0]=d;g[b+13|0]=d>>>8;g[b+14|0]=d>>>16;g[b+15|0]=d>>>24;d=j[11089]|j[11090]<<8|(j[11091]<<16|j[11092]<<24);e=j[11085]|j[11086]<<8|(j[11087]<<16|j[11088]<<24);g[b|0]=e;g[b+1|0]=e>>>8;g[b+2|0]=e>>>16;g[b+3|0]=e>>>24;g[b+4|0]=d;g[b+5|0]=d>>>8;g[b+6|0]=d>>>16;g[b+7|0]=d>>>24;i[c+24>>2]=-1;b=Jm(c+24|4,c+8|0);i[a>>2]=i[c+24>>2];Jm(a+4|0,b);if(g[b+11|0]<=-1){qn(i[b>>2])}if(g[c+19|0]>-1){break a}qn(i[c+8>>2]);break a}i[a>>2]=0;i[a+4>>2]=0;i[a+16>>2]=b;i[a+8>>2]=0;i[a+12>>2]=0}L=c+96|0}function Ke(a,b,c,d){var e=0,f=0,h=0;e=L-80|0;L=e;f=i[c+36>>2];i[e+72>>2]=i[c+32>>2];i[e+76>>2]=f;h=i[c+28>>2];f=e- -64|0;i[f>>2]=i[c+24>>2];i[f+4>>2]=h;f=i[c+20>>2];i[e+56>>2]=i[c+16>>2];i[e+60>>2]=f;f=i[c+12>>2];i[e+48>>2]=i[c+8>>2];i[e+52>>2]=f;f=i[c+4>>2];i[e+40>>2]=i[c>>2];i[e+44>>2]=f;lh(a,e+40|0,e+24|0);a:{if(i[a>>2]){break a}f=a+4|0;if(g[a+15|0]<=-1){qn(i[f>>2])}if(j[e+31|0]!=1){b=Gm(32);i[e>>2]=b;i[e+4>>2]=20;i[e+8>>2]=-2147483616;g[b+20|0]=0;c=j[11156]|j[11157]<<8|(j[11158]<<16|j[11159]<<24);g[b+16|0]=c;g[b+17|0]=c>>>8;g[b+18|0]=c>>>16;g[b+19|0]=c>>>24;c=j[11152]|j[11153]<<8|(j[11154]<<16|j[11155]<<24);d=j[11148]|j[11149]<<8|(j[11150]<<16|j[11151]<<24);g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=j[11144]|j[11145]<<8|(j[11146]<<16|j[11147]<<24);d=j[11140]|j[11141]<<8|(j[11142]<<16|j[11143]<<24);g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[a>>2]=-1;Jm(f,e);if(g[e+11|0]>-1){break a}qn(i[e>>2]);break a}He(e,j[e+32|0]);h=i[e>>2];b:{if(h){i[a>>2]=h;Jm(f,e|4);break b}h=i[e+16>>2];i[e+16>>2]=0;i[h+44>>2]=d;oh(a,h,b,c,d);if(!i[a>>2]){if(g[f+11|0]<=-1){qn(i[f>>2])}i[a>>2]=0;i[a+4>>2]=0;i[a+8>>2]=0;i[a+12>>2]=0}if(!h){break b}O[i[i[h>>2]+4>>2]](h)}a=i[e+16>>2];i[e+16>>2]=0;if(a){O[i[i[a>>2]+4>>2]](a)}if(g[e+15|0]>-1){break a}qn(i[e+4>>2])}L=e+80|0}function Md(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i[a+8>>2]=e;h=a+32|0;g=i[h>>2];f=i[a+36>>2]-g>>2;a:{if(f>>>0>>0){Ta(h,e-f|0);break a}if(f>>>0<=e>>>0){break a}i[a+36>>2]=g+(e<<2)}h=0;f=(e&1073741823)!=(e|0)?-1:e<<2;n=tn(Gm(f),0,f);g=i[a+8>>2];b:{if((g|0)<1){break b}while(1){f=h<<2;g=i[f+n>>2];j=i[a+16>>2];c:{if((g|0)>(j|0)){k=i[a+32>>2];i[f+k>>2]=j;break c}k=i[a+32>>2];f=f+k|0;j=i[a+12>>2];if((g|0)<(j|0)){i[f>>2]=j;break c}i[f>>2]=g}h=h+1|0;g=i[a+8>>2];if((h|0)<(g|0)){continue}break}if((g|0)<1){break b}j=0;while(1){h=j<<2;f=h+c|0;h=i[b+h>>2]+i[h+k>>2]|0;i[f>>2]=h;d:{if((h|0)>i[a+16>>2]){h=h-i[a+20>>2]|0}else{if((h|0)>=i[a+12>>2]){break d}h=h+i[a+20>>2]|0}i[f>>2]=h}j=j+1|0;g=i[a+8>>2];if((j|0)<(g|0)){continue}break}}if((e|0)<(d|0)){p=0-e<<2;f=e;while(1){e:{if((g|0)<1){break e}m=f<<2;o=m+c|0;q=o+p|0;h=0;while(1){g=h<<2;j=i[g+q>>2];l=i[a+16>>2];f:{if((j|0)>(l|0)){k=i[a+32>>2];i[g+k>>2]=l;break f}k=i[a+32>>2];g=g+k|0;l=i[a+12>>2];if((j|0)<(l|0)){i[g>>2]=l;break f}i[g>>2]=j}h=h+1|0;g=i[a+8>>2];if((h|0)<(g|0)){continue}break}j=0;if((g|0)<1){break e}m=b+m|0;while(1){g=j<<2;h=g+o|0;g=i[g+m>>2]+i[g+k>>2]|0;i[h>>2]=g;g:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break g}g=g+i[a+20>>2]|0}i[h>>2]=g}j=j+1|0;g=i[a+8>>2];if((j|0)<(g|0)){continue}break}}f=e+f|0;if((f|0)<(d|0)){continue}break}}qn(n);return 1}function jg(a,b){var c=0,d=0,e=0,f=0,g=0;c=-1;f=-1;a:{if((b|0)==-1){break a}e=b+1|0;c=(e>>>0)%3|0?e:b+ -2|0;f=b+ -1|0;if((b>>>0)%3|0){break a}f=b+2|0}b:{c:{d:{e:{f:{g:{d=i[a+184>>2];switch(d|0){case 7:break d;case 3:break e;case 5:break f;case 0:case 1:break g;default:break b}}g=i[a+148>>2];e=-1;d=1;c=((c|0)!=-1?i[i[g>>2]+(c<<2)>>2]:e)<<2;e=i[a+156>>2];c=c+e|0;i[c>>2]=i[c>>2]+1;c=(((f|0)!=-1?i[i[g>>2]+(f<<2)>>2]:-1)<<2)+e|0;break c}g=i[a+148>>2];e=i[a+156>>2];d=e+(((b|0)!=-1?i[i[g>>2]+(b<<2)>>2]:-1)<<2)|0;i[d>>2]=i[d>>2]+1;d=(((c|0)!=-1?i[i[g>>2]+(c<<2)>>2]:-1)<<2)+e|0;i[d>>2]=i[d>>2]+1;c=-1;d=2;c=e+(((f|0)!=-1?i[i[g>>2]+(f<<2)>>2]:c)<<2)|0;break c}g=i[a+148>>2];e=i[a+156>>2];d=e+(((b|0)!=-1?i[i[g>>2]+(b<<2)>>2]:-1)<<2)|0;i[d>>2]=i[d>>2]+1;d=(((c|0)!=-1?i[i[g>>2]+(c<<2)>>2]:-1)<<2)+e|0;i[d>>2]=i[d>>2]+2;d=1;c=(((f|0)!=-1?i[i[g>>2]+(f<<2)>>2]:-1)<<2)+e|0;break c}g=i[a+148>>2];e=i[a+156>>2];d=e+(((b|0)!=-1?i[i[g>>2]+(b<<2)>>2]:-1)<<2)|0;i[d>>2]=i[d>>2]+2;d=(((c|0)!=-1?i[i[g>>2]+(c<<2)>>2]:-1)<<2)+e|0;i[d>>2]=i[d>>2]+2;c=-1;d=2;c=e+(((f|0)!=-1?i[i[g>>2]+(f<<2)>>2]:c)<<2)|0}i[c>>2]=i[c>>2]+d;d=i[a+184>>2]}h:{switch(d|0){case 0:case 5:f=i[a+156>>2];c=-1;i:{if((b|0)==-1){break i}d=b+1|0;b=(d>>>0)%3|0?d:b+ -2|0;c=-1;if((b|0)==-1){break i}c=i[i[i[a+148>>2]>>2]+(b<<2)>>2]}if(i[f+(c<<2)>>2]<=5){i[a+188>>2]=5;return}i[a+188>>2]=0;return;default:break h}}i[a+188>>2]=-1}function _c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0;m=L-32|0;L=m;i[m+28>>2]=0;a:{b:{if(k[b+38>>1]<=513){g=i[b+12>>2];c=i[b+20>>2];e=i[b+16>>2];d=e+4|0;if(d>>>0<4){c=c+1|0}f=d;d=c;if((g|0)<(c|0)?1:(g|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=e+i[b>>2]|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[m+28>>2]=c;i[b+16>>2]=f;i[b+20>>2]=d;break b}if(!Pc(1,m+28|0,b)){break a}c=i[m+28>>2]}if(!c){break a}f=a+76|0;Qc(f,c);o=Be(m+8|0);c:{if(!Ce(o,b)){break c}g=1;while(1){e=1<<(n&31);h=Ee(o);d=i[f>>2]+(n>>>3&536870908)|0;g=g^h;h=i[d>>2]|e;d:{if(!(g&1)){break d}h=i[d>>2]&(e^-1)}e=h;g=g^1;i[d>>2]=e;n=n+1|0;if((c|0)!=(n|0)){continue}break}n=0;d=i[b+12>>2];g=d;c=i[b+20>>2];e=c;o=i[b+16>>2];f=o+4|0;if(f>>>0<4){c=c+1|0}p=i[b+8>>2];h=f;f=c;if((d|0)<(c|0)?1:(d|0)<=(c|0)?p>>>0>>0:0){break c}q=i[b>>2];c=q+o|0;d=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=h;i[b+20>>2]=f;c=e;e=o+8|0;if(e>>>0<8){c=c+1|0}f=e;e=c;if((g|0)<(c|0)?1:(g|0)<=(c|0)?p>>>0>>0:0){break c}c=h+q|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=f;i[b+20>>2]=e;if((d|0)>(c|0)){break c}i[a+16>>2]=c;i[a+12>>2]=d;b=d;d=(c>>31)-((c>>>0>>0)+(b>>31)|0)|0;b=c-b|0;if(!d&b>>>0>2147483646|d>>>0>0){break c}n=1;b=b+1|0;i[a+20>>2]=b;c=(b|0)/2|0;i[a+24>>2]=c;i[a+28>>2]=0-c;if(b&1){break c}i[a+24>>2]=c+ -1}}L=m+32|0;return n|0}function mh(a,b){var c=0,d=0,e=0;e=L-48|0;L=e;c=Gm(36);i[c+4>>2]=0;i[c+8>>2]=0;i[c+16>>2]=0;i[c+20>>2]=0;i[c+32>>2]=0;i[c+24>>2]=0;i[c+28>>2]=0;i[c>>2]=c+4;i[c+12>>2]=c+16;i[e+40>>2]=c;d=e+32|0;i[d>>2]=0;a:{if(!$k(d,i[b+32>>2],c)){b=Gm(32);i[e+16>>2]=b;i[e+20>>2]=26;i[e+24>>2]=-2147483616;g[b+26|0]=0;c=j[13614]|j[13615]<<8;g[b+24|0]=c;g[b+25|0]=c>>>8;c=j[13610]|j[13611]<<8|(j[13612]<<16|j[13613]<<24);d=j[13606]|j[13607]<<8|(j[13608]<<16|j[13609]<<24);g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=j[13602]|j[13603]<<8|(j[13604]<<16|j[13605]<<24);d=j[13598]|j[13599]<<8|(j[13600]<<16|j[13601]<<24);g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=j[13594]|j[13595]<<8|(j[13596]<<16|j[13597]<<24);d=j[13590]|j[13591]<<8|(j[13592]<<16|j[13593]<<24);g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[a>>2]=-1;Jm(a+4|0,e+16|0);if(g[e+27|0]>-1){break a}qn(i[e+16>>2]);break a}b=i[b+4>>2];i[e+8>>2]=0;i[e+40>>2]=0;d=i[b+4>>2];i[b+4>>2]=c;b:{if(!d){i[e+8>>2]=0;break b}nh(d);b=i[e+8>>2];i[e+8>>2]=0;if(!b){break b}nh(b)}i[a>>2]=0;i[a+4>>2]=0;i[a+8>>2]=0;i[a+12>>2]=0}a=i[e+40>>2];i[e+40>>2]=0;if(a){nh(a)}L=e+48|0}function Kf(a,b,c){var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0;d=L-112|0;L=d;l=i[i[b+4>>2]+44>>2];h=Gm(120);e=h;i[e+12>>2]=0;i[e+16>>2]=0;i[e>>2]=12316;i[e+4>>2]=0;i[e+8>>2]=12528;i[e+116>>2]=0;i[e+112>>2]=c;i[e+108>>2]=l;i[e+104>>2]=0;i[e+96>>2]=0;i[e+100>>2]=0;i[e+20>>2]=0;i[e+24>>2]=0;i[e+28>>2]=0;i[e+32>>2]=0;i[e+36>>2]=0;i[e+40>>2]=0;i[e+44>>2]=0;i[e+48>>2]=0;i[e+52>>2]=0;i[e+56>>2]=0;i[e+60>>2]=0;e=e- -64|0;i[e>>2]=0;i[e+4>>2]=0;i[h+72>>2]=0;i[h+76>>2]=0;i[h+80>>2]=0;i[h+84>>2]=0;i[h+88>>2]=0;b=i[b+8>>2];i[d+48>>2]=0;i[d+52>>2]=0;i[d+40>>2]=0;i[d+44>>2]=0;e=d+32|0;i[e>>2]=0;i[e+4>>2]=0;m=d+24|0;j=m;i[j>>2]=0;i[j+4>>2]=0;j=d+16|0;f=j;i[f>>2]=0;i[f+4>>2]=0;f=d- -64|0;i[f>>2]=0;i[f+4>>2]=0;i[d+72>>2]=0;i[d+76>>2]=0;f=d+80|0;i[f>>2]=0;i[f+4>>2]=0;i[d+88>>2]=0;i[d+104>>2]=0;i[d+56>>2]=0;i[d+60>>2]=0;i[d+8>>2]=12528;i[d+96>>2]=0;i[d+100>>2]=0;i[d+12>>2]=b;k=i[b>>2];n=i[b+4>>2];g[d+111|0]=0;Lf(e,(n-k>>2>>>0)/3|0,d+111|0);e=i[d+12>>2];k=i[e+28>>2];e=i[e+24>>2];g[d+111|0]=0;Lf(d+44|0,k-e>>2,d+111|0);i[d+28>>2]=h;i[m>>2]=l;i[d+20>>2]=c;i[j>>2]=b;Nf(h,d+8|0);i[a>>2]=h;i[d+8>>2]=12528;a=i[d+96>>2];if(a){i[d+100>>2]=a;qn(a)}a=i[f>>2];if(a){i[d+84>>2]=a;qn(a)}a=i[d+68>>2];if(a){i[d+72>>2]=a;qn(a)}a=i[d+56>>2];if(a){i[d+60>>2]=a;qn(a)}i[d+8>>2]=12764;a=i[d+44>>2];if(a){qn(a)}a=i[d+32>>2];if(a){qn(a)}L=d+112|0}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,p=0,q=0,r=0;n=L-32|0;L=n;a:{if(k[b+38>>1]<=513){e=i[b+16>>2];d=i[b+12>>2];c=i[b+20>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]<=e>>>0:0){break a}f=j[e+i[b>>2]|0];e=e+1|0;if(e>>>0<1){c=c+1|0}i[b+16>>2]=e;i[b+20>>2]=c;if(f){break a}}b:{while(1){if(!Pc(1,n+28|0,b)){break b}c=i[n+28>>2];if(c){f=(o(g,12)+a|0)+60|0;Qc(f,c);m=Be(n+8|0);if(!Ce(m,b)){break b}h=0;while(1){d=1<<(h&31);p=Ee(m);e=i[f>>2]+(h>>>3&536870908)|0;q=e;if(p){d=i[e>>2]|d}else{d=i[e>>2]&(d^-1)}i[q>>2]=d;h=h+1|0;if((c|0)!=(h|0)){continue}break}}g=g+1|0;if((g|0)!=4){continue}break}h=0;d=i[b+12>>2];e=d;c=i[b+20>>2];g=c;m=i[b+16>>2];f=m+4|0;if(f>>>0<4){c=c+1|0}q=i[b+8>>2];p=f;f=c;if((d|0)<(c|0)?1:(d|0)<=(c|0)?q>>>0

>>0:0){break a}r=i[b>>2];c=r+m|0;d=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=p;i[b+20>>2]=f;c=g;g=m+8|0;if(g>>>0<8){c=c+1|0}f=g;g=c;if((e|0)<(c|0)?1:(e|0)<=(c|0)?q>>>0>>0:0){break a}c=p+r|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=f;i[b+20>>2]=g;if((d|0)>(c|0)){break a}i[a+16>>2]=c;i[a+12>>2]=d;b=d;d=(c>>31)-((c>>>0>>0)+(b>>31)|0)|0;b=c-b|0;if(!d&b>>>0>2147483646|d>>>0>0){break a}h=1;b=b+1|0;i[a+20>>2]=b;c=(b|0)/2|0;i[a+24>>2]=c;i[a+28>>2]=0-c;if(b&1){break a}i[a+24>>2]=c+ -1;break a}h=0}L=n+32|0;return h|0}function He(a,b){var c=0,d=0,e=0;e=L-32|0;L=e;a:{b:{switch(b|0){case 0:b=Gm(48);sf(b);i[b>>2]=13256;i[a+8>>2]=0;i[a+12>>2]=0;i[a>>2]=0;i[a+4>>2]=0;i[a+16>>2]=b;break a;case 1:b=Gm(52);sf(b);i[b+48>>2]=0;i[b>>2]=11360;i[a+8>>2]=0;i[a+12>>2]=0;i[a>>2]=0;i[a+4>>2]=0;i[a+16>>2]=b;break a;default:break b}}b=Gm(32);i[e>>2]=b;i[e+4>>2]=28;i[e+8>>2]=-2147483616;g[b+28|0]=0;c=j[11080]|j[11081]<<8|(j[11082]<<16|j[11083]<<24);g[b+24|0]=c;g[b+25|0]=c>>>8;g[b+26|0]=c>>>16;g[b+27|0]=c>>>24;c=j[11076]|j[11077]<<8|(j[11078]<<16|j[11079]<<24);d=j[11072]|j[11073]<<8|(j[11074]<<16|j[11075]<<24);g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=j[11068]|j[11069]<<8|(j[11070]<<16|j[11071]<<24);d=j[11064]|j[11065]<<8|(j[11066]<<16|j[11067]<<24);g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=j[11060]|j[11061]<<8|(j[11062]<<16|j[11063]<<24);d=j[11056]|j[11057]<<8|(j[11058]<<16|j[11059]<<24);g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;i[e+16>>2]=-1;b=Jm(e+16|4,e);i[a>>2]=i[e+16>>2];Jm(a+4|0,b);i[a+16>>2]=0;if(g[b+11|0]<=-1){qn(i[b>>2])}if(g[e+11|0]>-1){break a}qn(i[e>>2])}L=e+32|0}function Uf(a,b){var c=0,d=0,e=0,f=0,h=0;e=i[a+8>>2];c=i[a+4>>2];if((e-c|0)/144>>>0>=b>>>0){if(!b){i[a+4>>2]=c;return}b=o(b,144)+c|0;while(1){i[c>>2]=-1;Rk(c+4|0);i[c+104>>2]=0;i[c+108>>2]=0;g[c+100|0]=1;i[c+112>>2]=0;i[c+116>>2]=0;i[c+120>>2]=0;i[c+124>>2]=0;i[c+128>>2]=0;i[c+132>>2]=0;i[c+136>>2]=0;i[c+140>>2]=0;c=c+144|0;if((b|0)!=(c|0)){continue}break}i[a+4>>2]=b;return}a:{b:{c:{f=i[a>>2];c=(c-f|0)/144|0;d=c+b|0;if(d>>>0<29826162){h=o(c,144);e=(e-f|0)/144|0;f=e<<1;e=e>>>0<14913080?f>>>0>>0?d:f:29826161;c=0;d:{if(!e){break d}if(e>>>0>=29826162){break c}c=Gm(o(e,144))}d=h+c|0;f=d+o(b,144)|0;e=c+o(e,144)|0;c=d;while(1){i[c>>2]=-1;Rk(c+4|0);i[c+104>>2]=0;i[c+108>>2]=0;g[c+100|0]=1;i[c+112>>2]=0;i[c+116>>2]=0;i[c+120>>2]=0;i[c+124>>2]=0;i[c+128>>2]=0;i[c+132>>2]=0;i[c+136>>2]=0;i[c+140>>2]=0;c=c+144|0;if((f|0)!=(c|0)){continue}break}b=i[a+4>>2];c=i[a>>2];if((b|0)==(c|0)){break b}while(1){b=b+ -144|0;d=_g(d+ -144|0,b);if((b|0)!=(c|0)){continue}break}c=i[a+4>>2];b=i[a>>2];break a}Vm();x()}Da(12220);x()}b=c}i[a+8>>2]=e;i[a+4>>2]=f;i[a>>2]=d;if((b|0)!=(c|0)){while(1){a=i[c+ -12>>2];if(a){i[c+ -8>>2]=a;qn(a)}a=i[c+ -28>>2];if(a){i[c+ -24>>2]=a;qn(a)}a=c+ -144|0;d=i[c+ -40>>2];if(d){i[c+ -36>>2]=d;qn(d)}Tf(c+ -140|0);c=a;if((b|0)!=(c|0)){continue}break}}if(b){qn(b)}}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,o=0,p=0;m=L-16|0;L=m;e=i[b+12>>2];c=i[b+20>>2];f=i[b+16>>2];d=f+4|0;if(d>>>0<4){c=c+1|0}g=d;d=c;a:{if((e|0)<(c|0)?1:(e|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=f+i[b>>2]|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=g;i[b+20>>2]=d;if((c|0)<0){break a}Qc(a+76|0,c);g=Be(m);b:{if(!Ce(g,b)){break b}if((c|0)>=1){e=1;while(1){f=1<<(k&31);h=Ee(g);d=i[a+76>>2]+(k>>>3&536870908)|0;e=e^h;h=i[d>>2]|f;c:{if(!(e&1)){break c}h=i[d>>2]&(f^-1)}f=h;e=e^1;i[d>>2]=f;k=k+1|0;if((c|0)!=(k|0)){continue}break}}d=i[b+12>>2];k=d;c=i[b+20>>2];e=c;g=i[b+16>>2];f=g+4|0;if(f>>>0<4){c=c+1|0}n=i[b+8>>2];h=f;f=c;if((d|0)<(c|0)?1:(d|0)<=(c|0)?n>>>0>>0:0){break b}o=i[b>>2];c=o+g|0;d=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=h;i[b+20>>2]=f;c=e;e=g+8|0;if(e>>>0<8){c=c+1|0}f=e;e=c;if((k|0)<(c|0)?1:(k|0)<=(c|0)?n>>>0>>0:0){break b}c=h+o|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=f;i[b+20>>2]=e;if((d|0)>(c|0)){break b}i[a+16>>2]=c;i[a+12>>2]=d;b=d;d=(c>>31)-((c>>>0>>0)+(b>>31)|0)|0;b=c-b|0;if(!d&b>>>0>2147483646|d>>>0>0){break b}p=1;b=b+1|0;i[a+20>>2]=b;c=(b|0)/2|0;i[a+24>>2]=c;i[a+28>>2]=0-c;if(b&1){break b}i[a+24>>2]=c+ -1}}L=m+16|0;return p|0}function Me(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=L-32|0;L=e;f=a+16|0;d=i[f>>2];a:{b:{if(!d){break b}h=i[b>>2];c=f;while(1){g=i[d+16>>2]<(h|0);c=g?c:d;d=i[(g<<2)+d>>2];if(d){continue}break}if((c|0)==(f|0)){break b}if((h|0)>=i[c+16>>2]){break a}}k=Ih(e+16|0);b=i[b>>2];j=e+8|0;i[j>>2]=0;i[j+4>>2]=0;i[e>>2]=b;i[e+4>>2]=j;c=i[k>>2];h=k+4|0;if((c|0)!=(h|0)){g=e|4;while(1){b=c;d=c+16|0;Ne(g,j,d,d);d=i[c+4>>2];c:{if(!d){c=i[b+8>>2];if((b|0)==i[c>>2]){break c}d=b+8|0;while(1){b=i[d>>2];d=b+8|0;c=i[b+8>>2];if((b|0)!=i[c>>2]){continue}break}break c}while(1){c=d;d=i[c>>2];if(d){continue}break}}if((c|0)!=(h|0)){continue}break}}d=i[a+16>>2];d:{if(d){f=a+16|0;g=i[e>>2];while(1){b=i[d+16>>2];e:{if((g|0)<(b|0)){c=i[d>>2];if(c){break e}f=d;break d}if((b|0)>=(g|0)){break d}f=d+4|0;c=i[d+4>>2];if(!c){break d}d=f}f=d;d=c;continue}}d=f}c=i[f>>2];if(!c){c=Gm(32);i[c+16>>2]=i[e>>2];i[c+20>>2]=i[e+4>>2];g=i[e+8>>2];i[c+24>>2]=g;b=i[e+12>>2];i[c+28>>2]=b;h=c+24|0;f:{if(!b){i[c+20>>2]=h;break f}i[g+8>>2]=h;i[e+8>>2]=0;i[e+12>>2]=0;i[e+4>>2]=j}i[c+8>>2]=d;i[c>>2]=0;i[c+4>>2]=0;i[f>>2]=c;d=i[i[a+12>>2]>>2];b=c;g:{if(!d){break g}i[a+12>>2]=d;b=i[f>>2]}Oe(i[a+16>>2],b);a=a+20|0;i[a>>2]=i[a>>2]+1}Pe(e|4,i[e+8>>2]);Pe(k,i[k+4>>2])}L=e+32|0;return c+20|0}function qg(a,b){var c=0,d=0,e=0,f=0,g=0;f=-1;d=-1;a:{if((b|0)==-1){break a}d=b+1|0;f=(d>>>0)%3|0?d:b+ -2|0;d=b+ -1|0;if((b>>>0)%3|0){break a}d=b+2|0}b:{c:{d:{switch(i[a+168>>2]){case 0:case 1:c=i[a+148>>2];e=1;b=i[a+156>>2];g=b+(((f|0)!=-1?i[i[c>>2]+(f<<2)>>2]:-1)<<2)|0;i[g>>2]=i[g>>2]+1;b=(((d|0)!=-1?i[i[c>>2]+(d<<2)>>2]:-1)<<2)+b|0;break c;case 5:e=i[a+148>>2];c=-1;c=((b|0)!=-1?i[i[e>>2]+(b<<2)>>2]:c)<<2;b=i[a+156>>2];c=c+b|0;i[c>>2]=i[c>>2]+1;c=(((f|0)!=-1?i[i[e>>2]+(f<<2)>>2]:-1)<<2)+b|0;i[c>>2]=i[c>>2]+1;c=-1;c=(d|0)!=-1?i[i[e>>2]+(d<<2)>>2]:c;e=2;b=b+(c<<2)|0;break c;case 3:e=i[a+148>>2];c=-1;c=((b|0)!=-1?i[i[e>>2]+(b<<2)>>2]:c)<<2;b=i[a+156>>2];c=c+b|0;i[c>>2]=i[c>>2]+1;c=(((f|0)!=-1?i[i[e>>2]+(f<<2)>>2]:-1)<<2)+b|0;i[c>>2]=i[c>>2]+2;b=(((d|0)!=-1?i[i[e>>2]+(d<<2)>>2]:-1)<<2)+b|0;e=1;break c;case 7:break d;default:break b}}e=i[a+148>>2];c=-1;c=((b|0)!=-1?i[i[e>>2]+(b<<2)>>2]:c)<<2;b=i[a+156>>2];c=c+b|0;i[c>>2]=i[c>>2]+2;c=(((f|0)!=-1?i[i[e>>2]+(f<<2)>>2]:-1)<<2)+b|0;i[c>>2]=i[c>>2]+2;c=-1;c=(d|0)!=-1?i[i[e>>2]+(d<<2)>>2]:c;e=2;b=b+(c<<2)|0}i[b>>2]=i[b>>2]+e}c=-1;c=(f|0)!=-1?i[i[i[a+148>>2]>>2]+(f<<2)>>2]:c;f=i[a+176>>2];b=f;d=a;c=i[i[a+156>>2]+(c<<2)>>2];if((c|0)>=(b|0)){a=i[a+180>>2];b=(c|0)>(a|0)?a:c}i[d+172>>2]=b-f}function Te(a,b,c,d){var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=L+ -64|0;L=e;i[e+56>>2]=0;i[e+48>>2]=0;i[e+52>>2]=0;i[e+40>>2]=0;i[e+44>>2]=0;i[e+32>>2]=0;i[e+36>>2]=0;i[e+24>>2]=0;i[e+28>>2]=0;i[e+16>>2]=0;i[e+20>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;a:{if(!Ve(e+8|0,c)){break a}if(!We(e+8|0,c)){break a}b:{if(!a){Eh(c,0,0);break b}if(!i[e+20>>2]){break a}Eh(c,0,0);h=i[e+56>>2];s=i[e+36>>2];t=i[e+48>>2];u=i[e+24>>2];while(1){c:{if(h>>>0>16383){break c}f=i[e+52>>2];while(1){if((f|0)<1){break c}f=f+ -1|0;i[e+52>>2]=f;h=j[f+t|0]|h<<8;i[e+56>>2]=h;if(h>>>0<16384){continue}break}}g=h&4095;q=i[(g<<2)+u>>2];k=(q<<3)+s|0;h=(o(i[k>>2],h>>>12|0)+g|0)-i[k+4>>2]|0;i[e+56>>2]=h;if((b|0)>=1){if(!j[c+36|0]){g=0;break a}k=b+l|0;while(1){d:{if((q|0)<1){n=0;break d}g=i[c+32>>2];v=i[c+28>>2];w=i[c+24>>2];f=0;n=0;while(1){m=(g>>>3|0)+w|0;e:{if(m>>>0>=v>>>0){p=0;break e}p=j[m|0];m=g+1|0;i[c+32>>2]=m;p=p>>>(g&7)&1;g=m}n=p<>2]=n;l=l+1|0;if((k|0)!=(l|0)){continue}break}l=k}r=b+r|0;if(r>>>0>>0){continue}break}}Gh(c);g=1}a=i[e+36>>2];if(a){i[e+40>>2]=a;qn(a)}a=i[e+24>>2];if(a){i[e+28>>2]=a;qn(a)}a=i[e+8>>2];if(a){i[e+12>>2]=a;qn(a)}L=e- -64|0;return g}function nf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;g=L-16|0;L=g;a:{b:{if(k[b+38>>1]<=511){d=i[b+12>>2];m=d;c=i[b+20>>2];e=i[b+16>>2];f=e+8|0;if(f>>>0<8){c=c+1|0}h=i[b+8>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?h>>>0>>0:0){break a}d=e+i[b>>2]|0;e=j[d+4|0]|j[d+5|0]<<8|(j[d+6|0]<<16|j[d+7|0]<<24);d=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[g+8>>2]=d;i[g+12>>2]=e;i[b+16>>2]=f;i[b+20>>2]=c;break b}if(!ef(1,g+8|0,b)){break a}f=i[b+16>>2];c=i[b+20>>2];h=i[b+8>>2];m=i[b+12>>2];d=i[g+8>>2];e=i[g+12>>2]}l=h-f|0;h=m-(c+(h>>>0>>0)|0)|0;if((h|0)==(e|0)&d>>>0>l>>>0|e>>>0>h>>>0){break a}e=c+e|0;c=f;l=c+d|0;if(l>>>0>>0){e=e+1|0}i[b+16>>2]=l;i[b+20>>2]=e;c=d;if((c|0)<1){break a}f=f+i[b>>2]|0;i[a+40>>2]=f;b=a;c:{d:{e:{f:{g:{d=c+ -1|0;e=f+d|0;switch((j[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}i[a+44>>2]=d;a=j[e|0]&63;break c}if((c|0)<2){break a}i[a+44>>2]=c+ -2;a=(c+f|0)+ -2|0;a=j[a+1|0]<<8&16128|j[a|0];break c}if((c|0)<3){break a}i[a+44>>2]=c+ -3;a=(c+f|0)+ -3|0;a=j[a+1|0]<<8|j[a+2|0]<<16&4128768|j[a|0];break c}i[a+44>>2]=c+ -4;a=(c+f|0)+ -4|0;a=j[a+2|0]<<16|j[a+3|0]<<24&1056964608|j[a+1|0]<<8|j[a|0]}a=a- -1048576|0;i[b+48>>2]=a;n=a>>>0<268435456}L=g+16|0;return n}function rf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;g=L-16|0;L=g;a:{b:{if(k[b+38>>1]<=511){d=i[b+12>>2];m=d;c=i[b+20>>2];e=i[b+16>>2];f=e+8|0;if(f>>>0<8){c=c+1|0}h=i[b+8>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?h>>>0>>0:0){break a}d=e+i[b>>2]|0;e=j[d+4|0]|j[d+5|0]<<8|(j[d+6|0]<<16|j[d+7|0]<<24);d=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[g+8>>2]=d;i[g+12>>2]=e;i[b+16>>2]=f;i[b+20>>2]=c;break b}if(!ef(1,g+8|0,b)){break a}f=i[b+16>>2];c=i[b+20>>2];h=i[b+8>>2];m=i[b+12>>2];d=i[g+8>>2];e=i[g+12>>2]}l=h-f|0;h=m-(c+(h>>>0>>0)|0)|0;if((h|0)==(e|0)&d>>>0>l>>>0|e>>>0>h>>>0){break a}e=c+e|0;c=f;l=c+d|0;if(l>>>0>>0){e=e+1|0}i[b+16>>2]=l;i[b+20>>2]=e;c=d;if((c|0)<1){break a}f=f+i[b>>2]|0;i[a+40>>2]=f;b=a;c:{d:{e:{f:{g:{d=c+ -1|0;e=f+d|0;switch((j[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}i[a+44>>2]=d;a=j[e|0]&63;break c}if((c|0)<2){break a}i[a+44>>2]=c+ -2;a=(c+f|0)+ -2|0;a=j[a+1|0]<<8&16128|j[a|0];break c}if((c|0)<3){break a}i[a+44>>2]=c+ -3;a=(c+f|0)+ -3|0;a=j[a+1|0]<<8|j[a+2|0]<<16&4128768|j[a|0];break c}i[a+44>>2]=c+ -4;a=(c+f|0)+ -4|0;a=j[a+2|0]<<16|j[a+3|0]<<24&1056964608|j[a+1|0]<<8|j[a|0]}a=a+4194304|0;i[b+48>>2]=a;n=a>>>0<1073741824}L=g+16|0;return n}function pf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;g=L-16|0;L=g;a:{b:{if(k[b+38>>1]<=511){d=i[b+12>>2];m=d;c=i[b+20>>2];e=i[b+16>>2];f=e+8|0;if(f>>>0<8){c=c+1|0}h=i[b+8>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?h>>>0>>0:0){break a}d=e+i[b>>2]|0;e=j[d+4|0]|j[d+5|0]<<8|(j[d+6|0]<<16|j[d+7|0]<<24);d=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[g+8>>2]=d;i[g+12>>2]=e;i[b+16>>2]=f;i[b+20>>2]=c;break b}if(!ef(1,g+8|0,b)){break a}f=i[b+16>>2];c=i[b+20>>2];h=i[b+8>>2];m=i[b+12>>2];d=i[g+8>>2];e=i[g+12>>2]}l=h-f|0;h=m-(c+(h>>>0>>0)|0)|0;if((h|0)==(e|0)&d>>>0>l>>>0|e>>>0>h>>>0){break a}e=c+e|0;c=f;l=c+d|0;if(l>>>0>>0){e=e+1|0}i[b+16>>2]=l;i[b+20>>2]=e;c=d;if((c|0)<1){break a}f=f+i[b>>2]|0;i[a+40>>2]=f;b=a;c:{d:{e:{f:{g:{d=c+ -1|0;e=f+d|0;switch((j[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}i[a+44>>2]=d;a=j[e|0]&63;break c}if((c|0)<2){break a}i[a+44>>2]=c+ -2;a=(c+f|0)+ -2|0;a=j[a+1|0]<<8&16128|j[a|0];break c}if((c|0)<3){break a}i[a+44>>2]=c+ -3;a=(c+f|0)+ -3|0;a=j[a+1|0]<<8|j[a+2|0]<<16&4128768|j[a|0];break c}i[a+44>>2]=c+ -4;a=(c+f|0)+ -4|0;a=j[a+2|0]<<16|j[a+3|0]<<24&1056964608|j[a+1|0]<<8|j[a|0]}a=a+2097152|0;i[b+48>>2]=a;n=a>>>0<536870912}L=g+16|0;return n}function lf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;g=L-16|0;L=g;a:{b:{if(k[b+38>>1]<=511){d=i[b+12>>2];m=d;c=i[b+20>>2];e=i[b+16>>2];f=e+8|0;if(f>>>0<8){c=c+1|0}h=i[b+8>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?h>>>0>>0:0){break a}d=e+i[b>>2]|0;e=j[d+4|0]|j[d+5|0]<<8|(j[d+6|0]<<16|j[d+7|0]<<24);d=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[g+8>>2]=d;i[g+12>>2]=e;i[b+16>>2]=f;i[b+20>>2]=c;break b}if(!ef(1,g+8|0,b)){break a}f=i[b+16>>2];c=i[b+20>>2];h=i[b+8>>2];m=i[b+12>>2];d=i[g+8>>2];e=i[g+12>>2]}l=h-f|0;h=m-(c+(h>>>0>>0)|0)|0;if((h|0)==(e|0)&d>>>0>l>>>0|e>>>0>h>>>0){break a}e=c+e|0;c=f;l=c+d|0;if(l>>>0>>0){e=e+1|0}i[b+16>>2]=l;i[b+20>>2]=e;c=d;if((c|0)<1){break a}f=f+i[b>>2]|0;i[a+40>>2]=f;b=a;c:{d:{e:{f:{g:{d=c+ -1|0;e=f+d|0;switch((j[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}i[a+44>>2]=d;a=j[e|0]&63;break c}if((c|0)<2){break a}i[a+44>>2]=c+ -2;a=(c+f|0)+ -2|0;a=j[a+1|0]<<8&16128|j[a|0];break c}if((c|0)<3){break a}i[a+44>>2]=c+ -3;a=(c+f|0)+ -3|0;a=j[a+1|0]<<8|j[a+2|0]<<16&4128768|j[a|0];break c}i[a+44>>2]=c+ -4;a=(c+f|0)+ -4|0;a=j[a+2|0]<<16|j[a+3|0]<<24&1056964608|j[a+1|0]<<8|j[a|0]}a=a+262144|0;i[b+48>>2]=a;n=a>>>0<67108864}L=g+16|0;return n}function jf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;g=L-16|0;L=g;a:{b:{if(k[b+38>>1]<=511){d=i[b+12>>2];m=d;c=i[b+20>>2];e=i[b+16>>2];f=e+8|0;if(f>>>0<8){c=c+1|0}h=i[b+8>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?h>>>0>>0:0){break a}d=e+i[b>>2]|0;e=j[d+4|0]|j[d+5|0]<<8|(j[d+6|0]<<16|j[d+7|0]<<24);d=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[g+8>>2]=d;i[g+12>>2]=e;i[b+16>>2]=f;i[b+20>>2]=c;break b}if(!ef(1,g+8|0,b)){break a}f=i[b+16>>2];c=i[b+20>>2];h=i[b+8>>2];m=i[b+12>>2];d=i[g+8>>2];e=i[g+12>>2]}l=h-f|0;h=m-(c+(h>>>0>>0)|0)|0;if((h|0)==(e|0)&d>>>0>l>>>0|e>>>0>h>>>0){break a}e=c+e|0;c=f;l=c+d|0;if(l>>>0>>0){e=e+1|0}i[b+16>>2]=l;i[b+20>>2]=e;c=d;if((c|0)<1){break a}f=f+i[b>>2]|0;i[a+40>>2]=f;b=a;c:{d:{e:{f:{g:{d=c+ -1|0;e=f+d|0;switch((j[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}i[a+44>>2]=d;a=j[e|0]&63;break c}if((c|0)<2){break a}i[a+44>>2]=c+ -2;a=(c+f|0)+ -2|0;a=j[a+1|0]<<8&16128|j[a|0];break c}if((c|0)<3){break a}i[a+44>>2]=c+ -3;a=(c+f|0)+ -3|0;a=j[a+1|0]<<8|j[a+2|0]<<16&4128768|j[a|0];break c}i[a+44>>2]=c+ -4;a=(c+f|0)+ -4|0;a=j[a+2|0]<<16|j[a+3|0]<<24&1056964608|j[a+1|0]<<8|j[a|0]}a=a+131072|0;i[b+48>>2]=a;n=a>>>0<33554432}L=g+16|0;return n}function hi(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=L-16|0;L=e;i[a+68>>2]=i[a+68>>2]+1;d=o(b,12)+a|0;d=i[d+12>>2]-i[d+8>>2]|0;if((d|0)>=1){d=d>>2;k=(d|0)>1?d:1;d=i[((b<<2)+a|0)+44>>2];while(1){b=d;g=(b>>>0)/3|0;f=(b|0)==-1;d=f?-1:g;h=i[a+56>>2]+(d>>>3&536870908)|0;i[h>>2]=i[h>>2]|1<<(d&31);i[a+72>>2]=i[a+72>>2]+1;a:{b:{if(!j){i[e+12>>2]=(b|0)<0?-1:i[(i[i[a>>2]+96>>2]+o(g,12)|0)+((b>>>0)%3<<2)>>2];i[e+8>>2]=c;gi(e+8|0,e+12|0);c:{if(!f){d=-1;g=e;f=b+1|0;f=(f>>>0)%3|0?f:b+ -2|0;if((f|0)>=0){h=(f>>>0)/3|0;h=i[(i[i[a>>2]+96>>2]+o(h,12)|0)+(f-o(h,3)<<2)>>2]}else{h=-1}i[g+12>>2]=h;i[e+8>>2]=c;gi(e+8|0,e+12|0);g=((b>>>0)%3|0?-1:2)+b|0;if((g|0)<0){break c}d=(g>>>0)/3|0;d=i[(i[i[a>>2]+96>>2]+o(d,12)|0)+(g-o(d,3)<<2)>>2];break c}d=-1;i[e+12>>2]=-1;i[e+8>>2]=c;gi(e+8|0,e+12|0)}i[a+76>>2]=d;i[e+12>>2]=d;i[e+8>>2]=c;gi(e+8|0,e+12|0);break b}f=(b|0)<0?-1:i[(i[i[a>>2]+96>>2]+o(g,12)|0)+((b>>>0)%3<<2)>>2];i[a+76>>2]=f;i[e+12>>2]=f;i[e+8>>2]=c;gi(e+8|0,e+12|0);if(j&1){d=-1;if((b|0)==-1){break a}if(b-o(g,3)|0){b=b+ -1|0;break b}b=b+2|0;break b}d=-1;if((b|0)==-1){break a}d=b+1|0;b=(d>>>0)%3|0?d:b+ -2|0}d=-1;if((b|0)==-1){break a}d=i[i[i[a+4>>2]+12>>2]+(b<<2)>>2]}j=j+1|0;if((k|0)!=(j|0)){continue}break}}L=e+16|0}function gf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;g=L-16|0;L=g;a:{b:{if(k[b+38>>1]<=511){d=i[b+12>>2];m=d;c=i[b+20>>2];e=i[b+16>>2];f=e+8|0;if(f>>>0<8){c=c+1|0}h=i[b+8>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?h>>>0>>0:0){break a}d=e+i[b>>2]|0;e=j[d+4|0]|j[d+5|0]<<8|(j[d+6|0]<<16|j[d+7|0]<<24);d=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[g+8>>2]=d;i[g+12>>2]=e;i[b+16>>2]=f;i[b+20>>2]=c;break b}if(!ef(1,g+8|0,b)){break a}f=i[b+16>>2];c=i[b+20>>2];h=i[b+8>>2];m=i[b+12>>2];d=i[g+8>>2];e=i[g+12>>2]}l=h-f|0;h=m-(c+(h>>>0>>0)|0)|0;if((h|0)==(e|0)&d>>>0>l>>>0|e>>>0>h>>>0){break a}e=c+e|0;c=f;l=c+d|0;if(l>>>0>>0){e=e+1|0}i[b+16>>2]=l;i[b+20>>2]=e;c=d;if((c|0)<1){break a}f=f+i[b>>2]|0;i[a+40>>2]=f;b=a;c:{d:{e:{f:{g:{d=c+ -1|0;e=f+d|0;switch((j[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}i[a+44>>2]=d;a=j[e|0]&63;break c}if((c|0)<2){break a}i[a+44>>2]=c+ -2;a=(c+f|0)+ -2|0;a=j[a+1|0]<<8&16128|j[a|0];break c}if((c|0)<3){break a}i[a+44>>2]=c+ -3;a=(c+f|0)+ -3|0;a=j[a+1|0]<<8|j[a+2|0]<<16&4128768|j[a|0];break c}i[a+44>>2]=c+ -4;a=(c+f|0)+ -4|0;a=j[a+2|0]<<16|j[a+3|0]<<24&1056964608|j[a+1|0]<<8|j[a|0]}a=a+32768|0;i[b+48>>2]=a;n=a>>>0<8388608}L=g+16|0;return n}function We(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;g=L-16|0;L=g;a:{b:{if(k[b+38>>1]<=511){d=i[b+12>>2];m=d;c=i[b+20>>2];e=i[b+16>>2];f=e+8|0;if(f>>>0<8){c=c+1|0}h=i[b+8>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?h>>>0>>0:0){break a}d=e+i[b>>2]|0;e=j[d+4|0]|j[d+5|0]<<8|(j[d+6|0]<<16|j[d+7|0]<<24);d=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[g+8>>2]=d;i[g+12>>2]=e;i[b+16>>2]=f;i[b+20>>2]=c;break b}if(!ef(1,g+8|0,b)){break a}f=i[b+16>>2];c=i[b+20>>2];h=i[b+8>>2];m=i[b+12>>2];d=i[g+8>>2];e=i[g+12>>2]}l=h-f|0;h=m-(c+(h>>>0>>0)|0)|0;if((h|0)==(e|0)&d>>>0>l>>>0|e>>>0>h>>>0){break a}e=c+e|0;c=f;l=c+d|0;if(l>>>0>>0){e=e+1|0}i[b+16>>2]=l;i[b+20>>2]=e;c=d;if((c|0)<1){break a}f=f+i[b>>2]|0;i[a+40>>2]=f;b=a;c:{d:{e:{f:{g:{d=c+ -1|0;e=f+d|0;switch((j[e|0]>>>6|0)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}i[a+44>>2]=d;a=j[e|0]&63;break c}if((c|0)<2){break a}i[a+44>>2]=c+ -2;a=(c+f|0)+ -2|0;a=j[a+1|0]<<8&16128|j[a|0];break c}if((c|0)<3){break a}i[a+44>>2]=c+ -3;a=(c+f|0)+ -3|0;a=j[a+1|0]<<8|j[a+2|0]<<16&4128768|j[a|0];break c}i[a+44>>2]=c+ -4;a=(c+f|0)+ -4|0;a=j[a+2|0]<<16|j[a+3|0]<<24&1056964608|j[a+1|0]<<8|j[a|0]}a=a+16384|0;i[b+48>>2]=a;n=a>>>0<4194304}L=g+16|0;return n}function Ce(a,b){var c=0,d=0,e=0,f=0,h=0,m=0,n=0,o=0,p=0,q=0,r=0;o=L-16|0;L=o;f=i[b+16>>2];c=i[b+12>>2];d=i[b+20>>2];a:{if((c|0)<(d|0)?1:(c|0)<=(d|0)?l[b+8>>2]<=f>>>0:0){break a}g[a+12|0]=j[f+i[b>>2]|0];c=i[b+20>>2];f=c;h=i[b+16>>2];m=h+1|0;if(m>>>0<1){c=c+1|0}e=m;i[b+16>>2]=e;i[b+20>>2]=c;b:{if(k[b+38>>1]<=513){n=i[b+12>>2];p=n;d=f;c=h+5|0;if(c>>>0<5){d=d+1|0}m=i[b+8>>2];h=c;c=d;if((p|0)<(c|0)?1:(p|0)<=(c|0)?m>>>0>>0:0){break a}d=e+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[o+12>>2]=e;i[b+16>>2]=h;i[b+20>>2]=c;break b}if(!De(1,o+12|0,b)){break a}h=i[b+16>>2];c=i[b+20>>2];m=i[b+8>>2];n=i[b+12>>2];e=i[o+12>>2]}d=e;f=n-(c+(m>>>0>>0)|0)|0;if(((f|0)<0?1:(f|0)<=0?m-h>>>0>>0:0)|(d|0)<1){break a}f=h+i[b>>2]|0;i[a>>2]=f;n=e+ -1|0;p=n+f|0;m=j[p|0]>>>6|0;if((m|0)==3){break a}q=a;c:{d:{switch(m-1|0){default:i[a+4>>2]=n;a=j[p|0]&63;break c;case 0:if((e|0)<2){break a}i[a+4>>2]=e+ -2;a=(e+f|0)+ -2|0;a=j[a+1|0]<<8&16128|j[a|0];break c;case 1:break d}}if((e|0)<3){break a}i[a+4>>2]=e+ -3;a=(e+f|0)+ -3|0;a=j[a+1|0]<<8|j[a+2|0]<<16&4128768|j[a|0]}a=a+4096|0;i[q+8>>2]=a;if(a>>>0>1048575){break a}a=d+h|0;if(a>>>0>>0){c=c+1|0}i[b+16>>2]=a;i[b+20>>2]=c;r=1}L=o+16|0;return r}function ph(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0;a:{b=i[a+32>>2];e=i[b+16>>2];h=i[b+12>>2];d=i[b+20>>2];b:{if((h|0)<(d|0)?1:(h|0)<=(d|0)?l[b+8>>2]<=e>>>0:0){break b}g=j[e+i[b>>2]|0];k=e+1|0;if(k>>>0<1){d=d+1|0}i[b+16>>2]=k;i[b+20>>2]=d;c:{if(!g){break c}while(1){if(O[i[i[a>>2]+16>>2]](a,c)|0){c=c+1|0;if((g|0)!=(c|0)){continue}break c}break}return 0}c=i[a+8>>2];d=i[a+12>>2];if((c|0)!=(d|0)){while(1){b=i[c>>2];if(!(O[i[i[b>>2]+8>>2]](b,a,i[a+4>>2])|0)){break b}c=c+4|0;if((d|0)!=(c|0)){continue}break}}d:{if(!g){break d}c=0;while(1){b=i[i[a+8>>2]+(c<<2)>>2];if(!(O[i[i[b>>2]+12>>2]](b,i[a+32>>2])|0)){break a}c=c+1|0;if((g|0)!=(c|0)){continue}break}if(!g){break d}h=a+20|0;while(1){c=0;k=m<<2;b=i[k+i[a+8>>2]>>2];d=O[i[i[b>>2]+24>>2]](b)|0;if((d|0)>0){while(1){b=i[i[a+8>>2]+k>>2];b=O[i[i[b>>2]+20>>2]](b,c)|0;n=i[a+20>>2];e=i[a+24>>2]-n>>2;e:{if(b>>>0>>0){break e}f=b+1|0;if(f>>>0>e>>>0){Ta(h,f-e|0);n=i[h>>2];break e}if(f>>>0>=e>>>0){break e}i[a+24>>2]=(f<<2)+n}i[(b<<2)+n>>2]=m;c=c+1|0;if((d|0)!=(c|0)){continue}break}}m=m+1|0;if((m|0)!=(g|0)){continue}break}}f=0;if(!(O[i[i[a>>2]+28>>2]](a)|0)){break b}f=O[i[i[a>>2]+32>>2]](a)|0}return f|0}return 0}function In(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{g=b;if(g){e=c;if(!e){break j}f=d;if(!f){break i}f=r(f)-r(g)|0;if(f>>>0<=31){break h}break b}if((d|0)==1&c>>>0>=0|d>>>0>1){break b}b=(a>>>0)/(c>>>0)|0;N=0;return b}e=d;if(!a){break g}if(!e){break f}if(e+ -1&e){break f}a=g>>>(On(e)&31)|0;N=0;return a}if(!(e+ -1&e)){break e}j=(r(e)+33|0)-r(g)|0;h=0-j|0;break c}j=f+1|0;h=63-f|0;break c}a=(g>>>0)/(e>>>0)|0;N=0;return a}f=r(e)-r(g)|0;if(f>>>0<31){break d}break b}if((e|0)==1){break a}c=a;a=On(e);d=a&31;if(32<=(a&63)>>>0){f=0;a=b>>>d|0}else{f=b>>>d|0;a=((1<>>d}N=f;return a}j=f+1|0;h=63-f|0}e=b;g=a;f=j&63;i=f&31;if(32<=(f&63)>>>0){f=0;l=e>>>i|0}else{f=e>>>i|0;l=((1<>>i}a=h&63;h=a&31;if(32<=(a&63)>>>0){e=g<>>32-h|b<>>31;f=e<<1|b>>>31;m=k;e=k;k=f;i=g-((h>>>0>>0)+e|0)|0;e=i>>31;i=i>>31;f=c&i;l=k-f|0;f=m-((d&e)+(k>>>0>>0)|0)|0;e=b<<1|a>>>31;a=n|a<<1;b=e|o;m=0;k=i&1;n=k;j=j+ -1|0;if(j){continue}break}}N=m|(b<<1|a>>>31);return k|a<<1}a=0;b=0}N=b;return a}function _k(a,b){var c=0,d=0,e=0,f=0,h=0,k=0,m=0,n=0,o=0,p=0;d=L-32|0;L=d;i[d+24>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;a:{e=i[a>>2];c=e;h=i[c+16>>2];k=l[c+8>>2]<=h>>>0;f=i[c+12>>2];c=i[c+20>>2];b:{if((f|0)<(c|0)?1:(f|0)<=(c|0)?k:0){break b}k=j[h+i[e>>2]|0];f=c;c=h+1|0;if(c>>>0<1){f=f+1|0}i[e+16>>2]=c;i[e+20>>2]=f;Om(d+16|0,k);if(k){f=i[a>>2];n=Sm(d+16|0);m=i[f+12>>2];h=i[f+20>>2];p=i[f+16>>2];e=k;c=p+e|0;if(c>>>0>>0){h=h+1|0}if((m|0)<(h|0)?1:(m|0)<=(h|0)?l[f+8>>2]>>0:0){break b}sn(n,p+i[f>>2]|0,k);h=i[f+20>>2];k=e+i[f+16>>2]|0;if(k>>>0>>0){h=h+1|0}c=f;i[c+16>>2]=k;i[c+20>>2]=h}i[d+12>>2]=0;c=Zk(1,d+12|0,i[a>>2]);e=i[d+12>>2];if(!e|!c){break b}i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;if((e|0)<=-1){break a}m=Gm(e);i[d>>2]=m;c=e+m|0;i[d+8>>2]=c;p=tn(m,0,e);i[d+4>>2]=c;c=i[a>>2];a=i[c+8>>2];o=i[c+12>>2];f=a;n=i[c+20>>2];h=i[c+16>>2];a=e;k=h+e|0;if(k>>>0>>0){n=n+1|0}o=(o|0)>(n|0)?1:(o|0)>=(n|0)?f>>>0>=k>>>0:0;if(o){sn(p,h+i[c>>2]|0,e);e=c;k=c;f=i[c+20>>2];c=a+i[c+16>>2]|0;if(c>>>0>>0){f=f+1|0}i[k+16>>2]=c;i[e+20>>2]=f;jl(b,d+16|0,d);m=i[d>>2];if(!m){break b}}i[d+4>>2]=m;qn(m)}if(g[d+27|0]<=-1){qn(i[d+16>>2])}L=d+32|0;return o}Vm();x()}function cg(a,b,c,d){var e=0,f=0,h=0,j=0,k=p(0),l=0,n=p(0),o=0,q=0;f=i[c>>2];o=a;a:{b:{e=i[b+4>>2];if(!e){break b}j=i[b>>2];l=Mn(e);h=f&e+ -1;c:{if(l>>>0<=1){break c}c=f;h=c;if(c>>>0>>0){break c}h=(f>>>0)%(e>>>0)|0}c=h;h=c;c=i[(c<<2)+j>>2];if(!c){break b}q=e+ -1|0;l=l>>>0>1;while(1){c=i[c>>2];if(!c){break b}j=i[c+4>>2];if((f|0)!=(j|0)){d:{if(!l){j=j&q;break d}if(j>>>0>>0){break d}j=(j>>>0)%(e>>>0)|0}if((j|0)!=(h|0)){break b}}if((f|0)!=i[c+8>>2]){continue}break}b=0;break a}c=Gm(16);d=i[i[d>>2]>>2];i[c+12>>2]=0;i[c+8>>2]=d;i[c+4>>2]=f;i[c>>2]=0;k=m[b+16>>2];n=p(i[b+12>>2]+1>>>0);e:{if(p(k*p(e>>>0))>>0<3|e<<1;d=b;k=p(v(p(n/k)));f:{if(k=p(0)){h=~~k>>>0;break f}h=0}$g(d,e>>>0>>0?h:e);e=i[b+4>>2];if(!(e&e+ -1)){h=f&e+ -1;break e}if(f>>>0>>0){h=f;break e}h=(f>>>0)%(e>>>0)|0}f=i[b>>2]+(h<<2)|0;d=i[f>>2];g:{h:{if(!d){i[c>>2]=i[b+8>>2];i[b+8>>2]=c;i[f>>2]=b+8;d=i[c>>2];if(!d){break g}d=i[d+4>>2];f=e+ -1|0;i:{if(!(f&e)){d=d&f;break i}if(d>>>0>>0){break i}d=(d>>>0)%(e>>>0)|0}d=i[b>>2]+(d<<2)|0;break h}i[c>>2]=i[d>>2]}i[d>>2]=c}i[b+12>>2]=i[b+12>>2]+1;b=1}g[o+4|0]=b;i[a>>2]=c}function Td(a,b,c,d,e,f){var g=0,h=0,j=0,k=0;k=i[i[i[b+4>>2]+8>>2]+(d<<2)>>2];a:{b:{if((O[i[i[b>>2]+8>>2]](b)|0)!=1|c+ -1>>>0>5){break b}h=O[i[i[b>>2]+36>>2]](b)|0;f=O[i[i[b>>2]+44>>2]](b,d)|0;if(!h|!f){break b}g=f+12|0;j=O[i[i[b>>2]+40>>2]](b,d)|0;d=i[b+44>>2];c:{if(j){if((c|0)!=6){break c}b=Gm(112);i[b+4>>2]=k;c=i[e+4>>2];i[b+8>>2]=i[e>>2];i[b+12>>2]=c;c=i[e+12>>2];i[b+16>>2]=i[e+8>>2];i[b+20>>2]=c;i[b+24>>2]=i[e+16>>2];i[b+40>>2]=f;i[b+36>>2]=g;i[b+32>>2]=j;i[b+28>>2]=d;i[b+68>>2]=f;i[b+64>>2]=g;i[b+60>>2]=j;i[b+56>>2]=d;i[b+48>>2]=0;i[b+52>>2]=0;i[b>>2]=8844;i[b+88>>2]=1065353216;i[b+92>>2]=-1;i[b+80>>2]=-1;i[b+84>>2]=-1;i[b+72>>2]=1;i[b+76>>2]=-1;i[b+44>>2]=9408;break a}if((c|0)!=6){break c}b=Gm(112);i[b+4>>2]=k;c=i[e+4>>2];i[b+8>>2]=i[e>>2];i[b+12>>2]=c;c=i[e+12>>2];i[b+16>>2]=i[e+8>>2];i[b+20>>2]=c;i[b+24>>2]=i[e+16>>2];i[b+40>>2]=f;i[b+36>>2]=g;i[b+32>>2]=h;i[b+28>>2]=d;i[b+68>>2]=f;i[b+64>>2]=g;i[b+60>>2]=h;i[b+56>>2]=d;i[b+48>>2]=0;i[b+52>>2]=0;i[b>>2]=9848;i[b+88>>2]=1065353216;i[b+92>>2]=-1;i[b+80>>2]=-1;i[b+84>>2]=-1;i[b+72>>2]=1;i[b+76>>2]=-1;i[b+44>>2]=10268;break a}i[a>>2]=0}i[a>>2]=0;return}Be(b+96|0);i[a>>2]=b}function Sd(a,b,c,d,e,f){var g=0,h=0,j=0,k=0;k=i[i[i[b+4>>2]+8>>2]+(d<<2)>>2];a:{b:{if((O[i[i[b>>2]+8>>2]](b)|0)!=1|c+ -1>>>0>5){break b}h=O[i[i[b>>2]+36>>2]](b)|0;f=O[i[i[b>>2]+44>>2]](b,d)|0;if(!h|!f){break b}g=f+12|0;j=O[i[i[b>>2]+40>>2]](b,d)|0;d=i[b+44>>2];c:{if(j){if((c|0)!=6){break c}b=Gm(112);i[b+4>>2]=k;c=i[e+4>>2];i[b+8>>2]=i[e>>2];i[b+12>>2]=c;c=i[e+12>>2];i[b+16>>2]=i[e+8>>2];i[b+20>>2]=c;i[b+24>>2]=i[e+16>>2];i[b+40>>2]=f;i[b+36>>2]=g;i[b+32>>2]=j;i[b+28>>2]=d;i[b+68>>2]=f;i[b+64>>2]=g;i[b+60>>2]=j;i[b+56>>2]=d;i[b+48>>2]=0;i[b+52>>2]=0;i[b>>2]=6960;i[b+88>>2]=1065353216;i[b+92>>2]=-1;i[b+80>>2]=-1;i[b+84>>2]=-1;i[b+72>>2]=1;i[b+76>>2]=-1;i[b+44>>2]=7484;break a}if((c|0)!=6){break c}b=Gm(112);i[b+4>>2]=k;c=i[e+4>>2];i[b+8>>2]=i[e>>2];i[b+12>>2]=c;c=i[e+12>>2];i[b+16>>2]=i[e+8>>2];i[b+20>>2]=c;i[b+24>>2]=i[e+16>>2];i[b+40>>2]=f;i[b+36>>2]=g;i[b+32>>2]=h;i[b+28>>2]=d;i[b+68>>2]=f;i[b+64>>2]=g;i[b+60>>2]=h;i[b+56>>2]=d;i[b+48>>2]=0;i[b+52>>2]=0;i[b>>2]=7896;i[b+88>>2]=1065353216;i[b+92>>2]=-1;i[b+80>>2]=-1;i[b+84>>2]=-1;i[b+72>>2]=1;i[b+76>>2]=-1;i[b+44>>2]=8288;break a}i[a>>2]=0}i[a>>2]=0;return}Be(b+96|0);i[a>>2]=b}function tg(a){a=a|0;var b=0,c=0,d=0,e=0;i[a>>2]=11520;b=i[a+388>>2];if(b){i[a+392>>2]=b;qn(b)}b=a+368|0;d=i[b>>2];i[b>>2]=0;if(d){c=d+ -4|0;b=i[c>>2];if(b){b=d+(b<<4)|0;while(1){b=b+ -16|0;if((d|0)!=(b|0)){continue}break}}qn(c)}d=i[a+216>>2];if(d){b=i[a+220>>2];c=d;a:{if((d|0)==(b|0)){break a}while(1){c=i[b+ -12>>2];if(c){i[b+ -8>>2]=c;qn(c)}c=i[b+ -28>>2];if(c){i[b+ -24>>2]=c;qn(c)}c=b+ -144|0;e=i[b+ -40>>2];if(e){i[b+ -36>>2]=e;qn(e)}Tf(b+ -140|0);b=c;if((d|0)!=(b|0)){continue}break}c=i[a+216>>2]}i[a+220>>2]=d;qn(c)}b=i[a+196>>2];if(b){i[a+200>>2]=b;qn(b)}b=i[a+184>>2];if(b){i[a+188>>2]=b;qn(b)}b=i[a+172>>2];if(b){i[a+176>>2]=b;qn(b)}b=i[a+160>>2];if(b){i[a+164>>2]=b;qn(b)}b=i[a+144>>2];if(b){while(1){d=i[b>>2];qn(b);b=d;if(b){continue}break}}b=i[a+136>>2];i[a+136>>2]=0;if(b){qn(b)}b=i[a+120>>2];if(b){qn(b)}b=i[a+108>>2];if(b){qn(b)}b=i[a+96>>2];if(b){qn(b)}b=i[a+72>>2];if(b){i[a+76>>2]=b;qn(b)}b=i[a+60>>2];if(b){qn(b)}b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}b=i[a+36>>2];if(b){i[a+40>>2]=b;qn(b)}b=i[a+24>>2];if(b){i[a+28>>2]=b;qn(b)}b=i[a+12>>2];if(b){i[a+16>>2]=b;qn(b)}b=i[a+8>>2];i[a+8>>2]=0;if(b){Sf(a+8|0,b)}return a|0}function Rd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=L-32|0;L=e;a:{b:{switch(d+ -2|0){case 0:d=i[b+4>>2];b=i[b+12>>2];i[e+24>>2]=-1;i[e+16>>2]=-1;i[e+20>>2]=1065353216;i[e+8>>2]=-1;i[e+12>>2]=-1;if((c|0)==-2){i[e>>2]=0;i[a>>2]=0;break a}f=i[i[i[d+4>>2]+8>>2]+(b<<2)>>2];if((O[i[i[d>>2]+8>>2]](d)|0)==1){g=b;b=k[d+36>>1];Sd(e,d,c,g,e+8|0,(b<<24|b<<8&16711680)>>>16|0);b=i[e>>2];if(b){i[a>>2]=b;break a}i[e>>2]=0}b=Gm(28);i[b+4>>2]=f;c=i[e+12>>2];i[b+8>>2]=i[e+8>>2];i[b+12>>2]=c;c=i[e+20>>2];i[b+16>>2]=i[e+16>>2];i[b+20>>2]=c;i[b+24>>2]=i[e+24>>2];i[b>>2]=8676;i[e>>2]=b;i[a>>2]=b;break a;case 1:d=i[b+4>>2];b=i[b+12>>2];i[e+24>>2]=-1;i[e+16>>2]=-1;i[e+20>>2]=1065353216;i[e+8>>2]=-1;i[e+12>>2]=-1;if((c|0)==-2){i[e>>2]=0;i[a>>2]=0;break a}f=i[i[i[d+4>>2]+8>>2]+(b<<2)>>2];if((O[i[i[d>>2]+8>>2]](d)|0)==1){g=b;b=k[d+36>>1];Td(e,d,c,g,e+8|0,(b<<24|b<<8&16711680)>>>16|0);b=i[e>>2];if(b){i[a>>2]=b;break a}i[e>>2]=0}b=Gm(28);i[b+4>>2]=f;c=i[e+12>>2];i[b+8>>2]=i[e+8>>2];i[b+12>>2]=c;c=i[e+20>>2];i[b+16>>2]=i[e+16>>2];i[b+20>>2]=c;i[b+24>>2]=i[e+24>>2];i[b>>2]=10680;i[e>>2]=b;i[a>>2]=b;break a;default:break b}}i[a>>2]=0}L=e+32|0}function _d(a,b,c,d){var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i[b+16>>2];f=i[c+4>>2]-l|0;e=i[c>>2]-l|0;i[c>>2]=e;i[c+4>>2]=f;g=f>>31;j=g+f^g;g=e>>31;h=i[b+16>>2];m=(j+(g+e^g)|0)<=(h|0);if(!m){a:{b:{if((e|0)>=0){k=1;j=1;if((f|0)>-1){break a}g=1;k=-1;j=-1;if((e|0)>=1){break b}break a}g=-1;k=-1;j=-1;if((f|0)<1){break a}}k=(f|0)<1?-1:1;j=g}g=f<<1;f=o(h,k);g=g-f|0;i[c+4>>2]=g;h=o(h,j);e=(e<<1)-h|0;i[c>>2]=e;c:{if((o(j,k)|0)>=0){g=0-g|0;i[c>>2]=g;e=0-e|0;break c}i[c>>2]=g}f=(e+f|0)/2|0;i[c+4>>2]=f;e=(g+h|0)/2|0;i[c>>2]=e;h=i[b+16>>2]}e=i[d>>2]+e|0;i[a>>2]=e;c=i[d+4>>2]+f|0;i[a+4>>2]=c;d:{if((h|0)<(e|0)){e=e-i[b+4>>2]|0;break d}if((e|0)>=(0-h|0)){break d}e=i[b+4>>2]+e|0}i[a>>2]=e;e:{if((h|0)<(c|0)){c=c-i[b+4>>2]|0;break e}if((c|0)>=(0-h|0)){break e}c=i[b+4>>2]+c|0}i[a+4>>2]=c;if(!m){f:{g:{if((e|0)>=0){b=1;d=1;if((c|0)>-1){break f}f=1;b=-1;d=-1;if((e|0)>=1){break g}break f}f=-1;b=-1;d=-1;if((c|0)<1){break f}}b=(c|0)<1?-1:1;d=f}g=o(b,h);f=(c<<1)-g|0;i[a+4>>2]=f;j=o(d,h);c=(e<<1)-j|0;i[a>>2]=c;h:{if((o(b,d)|0)>=0){f=0-f|0;i[a>>2]=f;c=0-c|0;break h}i[a>>2]=f}c=(c+g|0)/2|0;i[a+4>>2]=c;e=(f+j|0)/2|0;i[a>>2]=e}i[a>>2]=e+l;i[a+4>>2]=c+l}function sn(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){I(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){g[c|0]=j[b|0];b=b+1|0;c=c+1|0;if(c>>>0>=e>>>0){break b}if(c&3){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+ -64|0;if(c>>>0>f>>>0){break c}while(1){i[c>>2]=i[b>>2];i[c+4>>2]=i[b+4>>2];i[c+8>>2]=i[b+8>>2];i[c+12>>2]=i[b+12>>2];i[c+16>>2]=i[b+16>>2];i[c+20>>2]=i[b+20>>2];i[c+24>>2]=i[b+24>>2];i[c+28>>2]=i[b+28>>2];i[c+32>>2]=i[b+32>>2];i[c+36>>2]=i[b+36>>2];i[c+40>>2]=i[b+40>>2];i[c+44>>2]=i[b+44>>2];i[c+48>>2]=i[b+48>>2];i[c+52>>2]=i[b+52>>2];i[c+56>>2]=i[b+56>>2];i[c+60>>2]=i[b+60>>2];b=b- -64|0;c=c- -64|0;if(c>>>0<=f>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){i[c>>2]=i[b>>2];b=b+4|0;c=c+4|0;if(c>>>0>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e+ -4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){g[c|0]=j[b|0];g[c+1|0]=j[b+1|0];g[c+2|0]=j[b+2|0];g[c+3|0]=j[b+3|0];b=b+4|0;c=c+4|0;if(c>>>0<=d>>>0){continue}break}}if(c>>>0>>0){while(1){g[c|0]=j[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function cc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;g=L-16|0;L=g;if(Ra(a,b)){m=a+36|0;h=O[i[i[a>>2]+24>>2]](a)|0;e=i[a+40>>2];d=i[a+36>>2];c=e-d>>2;a:{if(h>>>0>c>>>0){dc(m,h-c|0);break a}if(h>>>0>=c>>>0){break a}d=d+(h<<2)|0;if((d|0)!=(e|0)){while(1){e=e+ -4|0;c=i[e>>2];i[e>>2]=0;if(c){O[i[i[c>>2]+4>>2]](c)}if((e|0)!=(d|0)){continue}break}}i[a+40>>2]=d}b:{if((h|0)<1){break b}n=1;f=i[b+16>>2];d=i[b+12>>2];c=i[b+20>>2];if((d|0)<(c|0)?1:(d|0)<=(c|0)?l[b+8>>2]<=f>>>0:0){break b}e=0;while(1){k=j[f+i[b>>2]|0];f=f+1|0;if(f>>>0<1){c=c+1|0}d=b;i[d+16>>2]=f;i[d+20>>2]=c;O[i[i[a>>2]+48>>2]](g+8|0,a,k);c=i[a+36>>2];d=i[g+8>>2];i[g+8>>2]=0;f=e<<2;k=c+f|0;c=i[k>>2];i[k>>2]=d;if(c){O[i[i[c>>2]+4>>2]](c)}c=i[g+8>>2];i[g+8>>2]=0;if(c){O[i[i[c>>2]+4>>2]](c)}c=i[i[m>>2]+f>>2];if(!c){break b}if(!(p=c,q=O[i[i[a>>2]+28>>2]](a)|0,r=O[i[i[a>>2]+20>>2]](a,e)|0,o=i[i[c>>2]+8>>2],O[o](p|0,q|0,r|0)|0)){break b}e=e+1|0;n=(e|0)<(h|0);if((e|0)==(h|0)){break b}f=i[b+16>>2];d=i[b+12>>2];c=i[b+20>>2];if((d|0)>(c|0)?1:(d|0)>=(c|0)?l[b+8>>2]>f>>>0:0){continue}break}}e=n^1}L=g+16|0;return e&1}function Bd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;i[a+64>>2]=f;i[a+72>>2]=e;f=Gm((e&1073741823)!=(e|0)?-1:e<<2);d=i[a+68>>2];i[a+68>>2]=f;if(d){qn(d)}i[a+8>>2]=e;f=a+32|0;g=i[f>>2];d=i[a+36>>2]-g>>2;a:{if(d>>>0>>0){Ta(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}i[a+36>>2]=g+(e<<2)}b:{d=i[a+56>>2];g=i[d+4>>2];f=i[d>>2];d=g-f|0;if((d|0)<1){break b}if((f|0)!=(g|0)){d=d>>2;m=(d|0)>1?d:1;while(1){Cd(a,i[(j<<2)+f>>2],c,j);c:{if(i[a+8>>2]<1){break c}l=i[a+68>>2];f=0;while(1){d=f<<2;g=i[d+l>>2];h=i[a+16>>2];d:{if((g|0)>(h|0)){k=i[a+32>>2];i[d+k>>2]=h;break d}k=i[a+32>>2];d=d+k|0;h=i[a+12>>2];if((g|0)<(h|0)){i[d>>2]=h;break d}i[d>>2]=g}f=f+1|0;g=i[a+8>>2];if((f|0)<(g|0)){continue}break}d=0;if((g|0)<1){break c}f=o(e,j)<<2;l=f+c|0;h=b+f|0;while(1){g=d<<2;f=g+l|0;g=i[g+h>>2]+i[g+k>>2]|0;i[f>>2]=g;e:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break e}g=g+i[a+20>>2]|0}i[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((m|0)==(j|0)){break b}d=i[a+56>>2];f=i[d>>2];if(i[d+4>>2]-f>>2>>>0>j>>>0){continue}break}}Wm();x()}return 1}function $c(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;i[a+64>>2]=f;i[a+72>>2]=e;f=Gm((e&1073741823)!=(e|0)?-1:e<<2);d=i[a+68>>2];i[a+68>>2]=f;if(d){qn(d)}i[a+8>>2]=e;f=a+32|0;g=i[f>>2];d=i[a+36>>2]-g>>2;a:{if(d>>>0>>0){Ta(f,e-d|0);break a}if(d>>>0<=e>>>0){break a}i[a+36>>2]=g+(e<<2)}b:{d=i[a+56>>2];g=i[d+4>>2];f=i[d>>2];d=g-f|0;if((d|0)<1){break b}if((f|0)!=(g|0)){d=d>>2;m=(d|0)>1?d:1;while(1){ad(a,i[(j<<2)+f>>2],c,j);c:{if(i[a+8>>2]<1){break c}l=i[a+68>>2];f=0;while(1){d=f<<2;g=i[d+l>>2];h=i[a+16>>2];d:{if((g|0)>(h|0)){k=i[a+32>>2];i[d+k>>2]=h;break d}k=i[a+32>>2];d=d+k|0;h=i[a+12>>2];if((g|0)<(h|0)){i[d>>2]=h;break d}i[d>>2]=g}f=f+1|0;g=i[a+8>>2];if((f|0)<(g|0)){continue}break}d=0;if((g|0)<1){break c}f=o(e,j)<<2;l=f+c|0;h=b+f|0;while(1){g=d<<2;f=g+l|0;g=i[g+h>>2]+i[g+k>>2]|0;i[f>>2]=g;e:{if((g|0)>i[a+16>>2]){g=g-i[a+20>>2]|0}else{if((g|0)>=i[a+12>>2]){break e}g=g+i[a+20>>2]|0}i[f>>2]=g}d=d+1|0;if((d|0)>2]){continue}break}}j=j+1|0;if((m|0)==(j|0)){break b}d=i[a+56>>2];f=i[d>>2];if(i[d+4>>2]-f>>2>>>0>j>>>0){continue}break}}Wm();x()}return 1}function rg(a){a=a|0;var b=0,c=0,d=0,e=0;i[a>>2]=11468;b=a+368|0;d=i[b>>2];i[b>>2]=0;if(d){c=d+ -4|0;b=i[c>>2];if(b){b=d+(b<<4)|0;while(1){b=b+ -16|0;if((d|0)!=(b|0)){continue}break}}qn(c)}d=i[a+216>>2];if(d){b=i[a+220>>2];c=d;a:{if((d|0)==(b|0)){break a}while(1){c=i[b+ -12>>2];if(c){i[b+ -8>>2]=c;qn(c)}c=i[b+ -28>>2];if(c){i[b+ -24>>2]=c;qn(c)}c=b+ -144|0;e=i[b+ -40>>2];if(e){i[b+ -36>>2]=e;qn(e)}Tf(b+ -140|0);b=c;if((d|0)!=(b|0)){continue}break}c=i[a+216>>2]}i[a+220>>2]=d;qn(c)}b=i[a+196>>2];if(b){i[a+200>>2]=b;qn(b)}b=i[a+184>>2];if(b){i[a+188>>2]=b;qn(b)}b=i[a+172>>2];if(b){i[a+176>>2]=b;qn(b)}b=i[a+160>>2];if(b){i[a+164>>2]=b;qn(b)}b=i[a+144>>2];if(b){while(1){d=i[b>>2];qn(b);b=d;if(b){continue}break}}b=i[a+136>>2];i[a+136>>2]=0;if(b){qn(b)}b=i[a+120>>2];if(b){qn(b)}b=i[a+108>>2];if(b){qn(b)}b=i[a+96>>2];if(b){qn(b)}b=i[a+72>>2];if(b){i[a+76>>2]=b;qn(b)}b=i[a+60>>2];if(b){qn(b)}b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}b=i[a+36>>2];if(b){i[a+40>>2]=b;qn(b)}b=i[a+24>>2];if(b){i[a+28>>2]=b;qn(b)}b=i[a+12>>2];if(b){i[a+16>>2]=b;qn(b)}b=i[a+8>>2];i[a+8>>2]=0;if(b){Sf(a+8|0,b)}return a|0}function xi(a,b,c){var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0;e=L-16|0;L=e;m=i[a+80>>2];k=g[b+24|0];a=o(m,k);a:{b:{c:{f=i[b+28>>2];if(!(!j[b+84|0]|((f|0)!=6?(f|0)!=5:0))){f=i[b+48>>2];k=i[i[b>>2]>>2];i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;a=a<<2;if(a){b=a>>2;if(b>>>0>=1073741824){break c}d=Gm(a);i[e>>2]=d;i[e+4>>2]=d;l=(b<<2)+d|0;i[e+8>>2]=l;b=e;if((a|0)<1){a=d}else{a=sn(d,f+k|0,a)+a|0}h=a;i[b+4>>2]=h}a=i[c>>2];if(a){i[c+4>>2]=a;qn(a);i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0}i[c+8>>2]=l;i[c+4>>2]=h;i[c>>2]=d;a=1;break a}i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;if(k){if((k|0)<=-1){break c}d=k<<2;h=Gm(d);i[e>>2]=h;f=d+h|0;i[e+8>>2]=f;tn(h,0,d);i[e+4>>2]=f}f=i[c>>2];d=i[c+4>>2]-f>>2;d:{if(a>>>0>d>>>0){Ae(c,a-d|0);break d}if(a>>>0>=d>>>0){break d}i[c+4>>2]=f+(a<<2)}if(!m){break b}d=0;n=1;while(1){a=l;f=b;if(!j[b+84|0]){a=i[i[b+68>>2]+(l<<2)>>2]}if(!yi(f,a,g[b+24|0],h)){break b}if((k|0)>=1){f=i[c>>2];a=0;while(1){i[f+(d<<2)>>2]=i[(a<<2)+h>>2];d=d+1|0;a=a+1|0;if((k|0)!=(a|0)){continue}break}}l=l+1|0;n=l>>>0>>0;if((l|0)!=(m|0)){continue}break}break b}Vm();x()}if(h){i[e+4>>2]=h;qn(h)}a=n^1}L=e+16|0;return a&1}function vi(a,b,c){var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0;e=L-16|0;L=e;m=i[a+80>>2];k=g[b+24|0];a=o(m,k);a:{b:{c:{f=i[b+28>>2];if(!(!j[b+84|0]|((f|0)!=6?(f|0)!=5:0))){f=i[b+48>>2];k=i[i[b>>2]>>2];i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;a=a<<2;if(a){b=a>>2;if(b>>>0>=1073741824){break c}d=Gm(a);i[e>>2]=d;i[e+4>>2]=d;l=(b<<2)+d|0;i[e+8>>2]=l;b=e;if((a|0)<1){a=d}else{a=sn(d,f+k|0,a)+a|0}h=a;i[b+4>>2]=h}a=i[c>>2];if(a){i[c+4>>2]=a;qn(a);i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0}i[c+8>>2]=l;i[c+4>>2]=h;i[c>>2]=d;a=1;break a}i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;if(k){if((k|0)<=-1){break c}d=k<<2;h=Gm(d);i[e>>2]=h;f=d+h|0;i[e+8>>2]=f;tn(h,0,d);i[e+4>>2]=f}f=i[c>>2];d=i[c+4>>2]-f>>2;d:{if(a>>>0>d>>>0){Ta(c,a-d|0);break d}if(a>>>0>=d>>>0){break d}i[c+4>>2]=f+(a<<2)}if(!m){break b}d=0;n=1;while(1){a=l;f=b;if(!j[b+84|0]){a=i[i[b+68>>2]+(l<<2)>>2]}if(!wi(f,a,g[b+24|0],h)){break b}if((k|0)>=1){f=i[c>>2];a=0;while(1){i[f+(d<<2)>>2]=i[(a<<2)+h>>2];d=d+1|0;a=a+1|0;if((k|0)!=(a|0)){continue}break}}l=l+1|0;n=l>>>0>>0;if((l|0)!=(m|0)){continue}break}break b}Vm();x()}if(h){i[e+4>>2]=h;qn(h)}a=n^1}L=e+16|0;return a&1}function gd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;if((e|0)==2){i[a+8>>2]=2;i[a- -64>>2]=f;d=a+32|0;e=i[d>>2];f=i[a+36>>2]-e|0;j=f>>2;a:{if(j>>>0<=1){Ta(d,2-j|0);break a}if((f|0)==8){break a}i[a+36>>2]=e+8}b:{d=i[a+56>>2];e=i[d+4>>2];d=i[d>>2];f=e-d|0;if((f|0)<1){f=0;break b}if((d|0)!=(e|0)){l=a+60|0;j=f>>2;m=(j|0)>1?j:1;f=1;while(1){if(!hd(l,i[(g<<2)+d>>2],c,g)){break b}c:{if(i[a+8>>2]<1){break c}d=0;while(1){e=d<<2;f=i[(e+a|0)+68>>2];h=i[a+16>>2];d:{if((f|0)>(h|0)){k=i[a+32>>2];i[e+k>>2]=h;break d}k=i[a+32>>2];e=e+k|0;h=i[a+12>>2];if((f|0)<(h|0)){i[e>>2]=h;break d}i[e>>2]=f}d=d+1|0;f=i[a+8>>2];if((d|0)<(f|0)){continue}break}e=0;if((f|0)<1){break c}d=g<<3;h=d+c|0;n=b+d|0;while(1){f=e<<2;d=f+h|0;f=i[f+n>>2]+i[f+k>>2]|0;i[d>>2]=f;e:{if((f|0)>i[a+16>>2]){f=f-i[a+20>>2]|0}else{if((f|0)>=i[a+12>>2]){break e}f=f+i[a+20>>2]|0}i[d>>2]=f}e=e+1|0;if((e|0)>2]){continue}break}}g=g+1|0;f=(g|0)<(j|0);if((g|0)==(m|0)){break b}e=i[a+56>>2];d=i[e>>2];if(i[e+4>>2]-d>>2>>>0>g>>>0){continue}break}}Wm();x()}a=f^1}else{a=0}return a&1}function Fd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;if((e|0)==2){i[a+8>>2]=2;i[a- -64>>2]=f;d=a+32|0;e=i[d>>2];f=i[a+36>>2]-e|0;j=f>>2;a:{if(j>>>0<=1){Ta(d,2-j|0);break a}if((f|0)==8){break a}i[a+36>>2]=e+8}b:{d=i[a+56>>2];e=i[d+4>>2];d=i[d>>2];f=e-d|0;if((f|0)<1){f=0;break b}if((d|0)!=(e|0)){l=a+60|0;j=f>>2;m=(j|0)>1?j:1;f=1;while(1){if(!Gd(l,i[(g<<2)+d>>2],c,g)){break b}c:{if(i[a+8>>2]<1){break c}d=0;while(1){e=d<<2;f=i[(e+a|0)+68>>2];h=i[a+16>>2];d:{if((f|0)>(h|0)){k=i[a+32>>2];i[e+k>>2]=h;break d}k=i[a+32>>2];e=e+k|0;h=i[a+12>>2];if((f|0)<(h|0)){i[e>>2]=h;break d}i[e>>2]=f}d=d+1|0;f=i[a+8>>2];if((d|0)<(f|0)){continue}break}e=0;if((f|0)<1){break c}d=g<<3;h=d+c|0;n=b+d|0;while(1){f=e<<2;d=f+h|0;f=i[f+n>>2]+i[f+k>>2]|0;i[d>>2]=f;e:{if((f|0)>i[a+16>>2]){f=f-i[a+20>>2]|0}else{if((f|0)>=i[a+12>>2]){break e}f=f+i[a+20>>2]|0}i[d>>2]=f}e=e+1|0;if((e|0)>2]){continue}break}}g=g+1|0;f=(g|0)<(j|0);if((g|0)==(m|0)){break b}e=i[a+56>>2];d=i[e>>2];if(i[e+4>>2]-d>>2>>>0>g>>>0){continue}break}}Wm();x()}a=f^1}else{a=0}return a&1}function ea(a,b,c,d){var e=0,f=0,g=0,h=0,j=0,k=0,l=0,n=0,o=0;j=+m[b>>2];k=+m[b+4>>2];n=+m[b+8>>2];h=q(j)+q(k)+q(n);a:{if(h>1e-6^1){j=1;k=0;f=0;break a}h=1/h;k=h*k;j=h*j;f=h*n<0}h=k;g=i[a+16>>2];k=+(g|0);h=u(h*k+.5);b:{if(q(h)<2147483648){b=~~h;break b}b=-2147483648}l=(b|0)<0?b:0-b|0;j=u(j*k+.5);c:{if(q(j)<2147483648){e=~~j;break c}e=-2147483648}o=(e|0)<0;e=l+((o?e:0-e|0)+g|0)|0;l=(e|0)<0?0:e;f=f?0-l|0:l;b=b+(e>>31&((b|0)>0?e:0-e|0))|0;d:{if(!o){e=b+g|0;b=f+g|0;break d}e:{if((b|0)<=-1){e=f>>31;e=e+f^e;break e}e=i[a+8>>2]+((f|0)<0?f:0-f|0)|0}if((f|0)<=-1){f=b;b=b>>31;b=f+b^b;break d}b=i[a+8>>2]+((b|0)<0?b:0-b|0)|0}f:{if(!(b|e)){b=i[a+8>>2];a=b;break f}f=i[a+8>>2];g:{h:{i:{j:{if(!e){if((b|0)==(f|0)){a=b;break f}a=0;if(b|f){break j}b=0;break f}if((e|0)!=(f|0)|b){break i}b=e;a=b;break f}if((g|0)<(b|0)){b=(g<<1)-b|0;break f}if(f){break g}break h}if((e|0)!=(f|0)){break g}}f=e;if((g|0)<=(b|0)){break g}b=(g<<1)-b|0;a=e;break f}if(!((b|0)!=(f|0)|(g|0)<=(e|0))){a=(g<<1)-e|0;break f}if(b){a=e;break f}b=0;if((g|0)>=(e|0)){a=e;break f}a=(g<<1)-e|0}i[c>>2]=a;i[d>>2]=b}function Eb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;a:{b:{d=i[a+4>>2];g=i[a>>2];h=(d-g|0)/24|0;f=h+1|0;if(f>>>0<178956971){c=(i[a+8>>2]-g|0)/24|0;e=c<<1;j=c>>>0<89478485?e>>>0>>0?f:e:178956970;if(j){if(j>>>0>=178956971){break b}k=Gm(o(j,24))}c=o(h,24)+k|0;i[c>>2]=1140;f=i[b+4>>2];l=c+16|0;i[l>>2]=0;i[c+8>>2]=0;i[c+12>>2]=0;i[c+4>>2]=f;m=i[b+8>>2];e=i[b+12>>2]-m|0;if(e){n=e>>2;if(n>>>0>=1073741824){break a}h=c+12|0;f=Gm(e);i[h>>2]=f;i[c+8>>2]=f;i[l>>2]=f+(n<<2);if((e|0)>=1){f=sn(f,m,e)+e|0}i[h>>2]=f}f=o(j,24)+k|0;i[c+20>>2]=i[b+20>>2];h=c+24|0;if((d|0)!=(g|0)){while(1){c=c+ -24|0;i[c>>2]=1140;b=i[d+ -20>>2];e=c+16|0;i[e>>2]=0;i[c+8>>2]=0;i[c+12>>2]=0;i[c+4>>2]=b;b=d+ -16|0;i[c+8>>2]=i[b>>2];i[c+12>>2]=i[d+ -12>>2];j=e;e=d+ -8|0;i[j>>2]=i[e>>2];i[e>>2]=0;i[b>>2]=0;i[b+4>>2]=0;i[c+20>>2]=i[d+ -4>>2];d=d+ -24|0;if((g|0)!=(d|0)){continue}break}g=i[a+4>>2];d=i[a>>2]}i[a+8>>2]=f;i[a+4>>2]=h;i[a>>2]=c;if((d|0)!=(g|0)){while(1){g=g+ -24|0;O[i[i[g>>2]>>2]](g)|0;if((d|0)!=(g|0)){continue}break}}if(d){qn(d)}return}Vm();x()}Da(1756);x()}Vm();x()}function oi(a,b,c){var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0;e=L-16|0;L=e;l=i[a+80>>2];h=g[b+24|0];a=o(l,h);a:{f=i[b+28>>2];b:{if(!(!j[b+84|0]|((f|0)!=2?(f|0)!=1:0))){f=i[b+48>>2];k=i[i[b>>2]>>2];i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;b=0;if(a){if((a|0)<=-1){break a}b=Gm(a);i[e>>2]=b;d=a+b|0;i[e+8>>2]=d;sn(b,f+k|0,a);i[e+4>>2]=d}a=i[c>>2];if(a){i[c+4>>2]=a;qn(a);i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0}i[c+8>>2]=d;i[c+4>>2]=d;i[c>>2]=b;a=1;break b}i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;if(h){if((h|0)<=-1){break a}d=Gm(h);i[e>>2]=d;f=d+h|0;i[e+8>>2]=f;tn(d,0,h);i[e+4>>2]=f}k=i[c>>2];f=i[c+4>>2]-k|0;c:{if(a>>>0>f>>>0){tb(c,a-f|0);break c}if(a>>>0>=f>>>0){break c}i[c+4>>2]=a+k}if(l){d=0;m=1;f=0;while(1){a=f;k=b;if(!j[b+84|0]){a=i[i[b+68>>2]+(f<<2)>>2]}n=a;a=i[e>>2];if(pi(k,n,g[b+24|0],a)){d:{if((h|0)<1){break d}g[i[c>>2]+d|0]=j[a|0];a=1;d=d+1|0;if((h|0)==1){break d}while(1){g[i[c>>2]+d|0]=j[i[e>>2]+a|0];d=d+1|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}f=f+1|0;m=f>>>0>>0;if((f|0)!=(l|0)){continue}}break}d=i[e>>2]}if(d){i[e+4>>2]=d;qn(d)}a=m^1}L=e+16|0;return a&1}Vm();x()}function mi(a,b,c){var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0;e=L-16|0;L=e;l=i[a+80>>2];h=g[b+24|0];a=o(l,h);a:{f=i[b+28>>2];b:{if(!(!j[b+84|0]|((f|0)!=2?(f|0)!=1:0))){f=i[b+48>>2];k=i[i[b>>2]>>2];i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;b=0;if(a){if((a|0)<=-1){break a}b=Gm(a);i[e>>2]=b;d=a+b|0;i[e+8>>2]=d;sn(b,f+k|0,a);i[e+4>>2]=d}a=i[c>>2];if(a){i[c+4>>2]=a;qn(a);i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0}i[c+8>>2]=d;i[c+4>>2]=d;i[c>>2]=b;a=1;break b}i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;if(h){if((h|0)<=-1){break a}d=Gm(h);i[e>>2]=d;f=d+h|0;i[e+8>>2]=f;tn(d,0,h);i[e+4>>2]=f}k=i[c>>2];f=i[c+4>>2]-k|0;c:{if(a>>>0>f>>>0){tb(c,a-f|0);break c}if(a>>>0>=f>>>0){break c}i[c+4>>2]=a+k}if(l){d=0;m=1;f=0;while(1){a=f;k=b;if(!j[b+84|0]){a=i[i[b+68>>2]+(f<<2)>>2]}n=a;a=i[e>>2];if(ni(k,n,g[b+24|0],a)){d:{if((h|0)<1){break d}g[i[c>>2]+d|0]=j[a|0];a=1;d=d+1|0;if((h|0)==1){break d}while(1){g[i[c>>2]+d|0]=j[i[e>>2]+a|0];d=d+1|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}f=f+1|0;m=f>>>0>>0;if((f|0)!=(l|0)){continue}}break}d=i[e>>2]}if(d){i[e+4>>2]=d;qn(d)}a=m^1}L=e+16|0;return a&1}Vm();x()}function ti(a,b,c){var d=0,e=0,f=0,l=0,m=0,n=0,p=0,q=0;e=L-16|0;L=e;p=i[a+80>>2];n=g[b+24|0];a=o(p,n);a:{b:{c:{d=i[b+28>>2];if(!(!j[b+84|0]|((d|0)!=4?(d|0)!=3:0))){m=i[b+48>>2];d=i[i[b>>2]>>2];i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;b=0;a=a<<1;if(a){if((a|0)<=-1){break c}f=Gm(a);i[e>>2]=f;l=(a>>1<<1)+f|0;i[e+8>>2]=l;b=sn(f,d+m|0,a)+a|0;i[e+4>>2]=b}a=i[c>>2];if(a){i[c+4>>2]=a;qn(a);i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0}i[c+8>>2]=l;i[c+4>>2]=b;i[c>>2]=f;a=1;break a}i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;if(n){if((n|0)<=-1){break c}d=n<<1;l=Gm(d);i[e>>2]=l;f=d+l|0;i[e+8>>2]=f;tn(l,0,d);i[e+4>>2]=f}f=i[c>>2];d=i[c+4>>2]-f>>1;d:{if(a>>>0>d>>>0){ri(c,a-d|0);break d}if(a>>>0>=d>>>0){break d}i[c+4>>2]=f+(a<<1)}if(!p){break b}f=0;q=1;while(1){a=m;d=b;if(!j[d+84|0]){a=i[i[b+68>>2]+(m<<2)>>2]}if(!ui(d,a,g[b+24|0],l)){break b}if((n|0)>=1){d=i[c>>2];a=0;while(1){h[d+(f<<1)>>1]=k[(a<<1)+l>>1];f=f+1|0;a=a+1|0;if((n|0)!=(a|0)){continue}break}}m=m+1|0;q=m>>>0

>>0;if((m|0)!=(p|0)){continue}break}break b}Vm();x()}if(l){i[e+4>>2]=l;qn(l)}a=q^1}L=e+16|0;return a&1}function qi(a,b,c){var d=0,e=0,f=0,l=0,m=0,n=0,p=0,q=0;e=L-16|0;L=e;p=i[a+80>>2];n=g[b+24|0];a=o(p,n);a:{b:{c:{d=i[b+28>>2];if(!(!j[b+84|0]|((d|0)!=4?(d|0)!=3:0))){m=i[b+48>>2];d=i[i[b>>2]>>2];i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;b=0;a=a<<1;if(a){if((a|0)<=-1){break c}f=Gm(a);i[e>>2]=f;l=(a>>1<<1)+f|0;i[e+8>>2]=l;b=sn(f,d+m|0,a)+a|0;i[e+4>>2]=b}a=i[c>>2];if(a){i[c+4>>2]=a;qn(a);i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0}i[c+8>>2]=l;i[c+4>>2]=b;i[c>>2]=f;a=1;break a}i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;if(n){if((n|0)<=-1){break c}d=n<<1;l=Gm(d);i[e>>2]=l;f=d+l|0;i[e+8>>2]=f;tn(l,0,d);i[e+4>>2]=f}f=i[c>>2];d=i[c+4>>2]-f>>1;d:{if(a>>>0>d>>>0){ri(c,a-d|0);break d}if(a>>>0>=d>>>0){break d}i[c+4>>2]=f+(a<<1)}if(!p){break b}f=0;q=1;while(1){a=m;d=b;if(!j[d+84|0]){a=i[i[b+68>>2]+(m<<2)>>2]}if(!si(d,a,g[b+24|0],l)){break b}if((n|0)>=1){d=i[c>>2];a=0;while(1){h[d+(f<<1)>>1]=k[(a<<1)+l>>1];f=f+1|0;a=a+1|0;if((n|0)!=(a|0)){continue}break}}m=m+1|0;q=m>>>0

>>0;if((m|0)!=(p|0)){continue}break}break b}Vm();x()}if(l){i[e+4>>2]=l;qn(l)}a=q^1}L=e+16|0;return a&1}function da(a,b,c,d,e){var f=0,g=0,h=0,k=0,l=0,n=0,o=0,q=0;f=L-48|0;L=f;k=i[e+48>>2];e=i[i[e>>2]>>2];i[f+32>>2]=-1;i[f+24>>2]=-1;i[f+28>>2]=1065353216;i[f+16>>2]=-1;i[f+20>>2]=-1;a=i[a+4>>2];a:{if(a+ -2>>>0>28){break a}k=e+k|0;i[f+16>>2]=a;a=-1<>2]=a^-1;a=-2-a|0;i[f+24>>2]=a;i[f+32>>2]=(a|0)/2;m[f+28>>2]=p(2)/p(a|0);g=i[c>>2];if((g|0)!=i[c+4>>2]){e=0;a=0;while(1){d=i[(a<<2)+g>>2];g=f+36|0;n=i[i[b>>2]>>2];o=i[b+48>>2];h=i[b+44>>2];l=i[b+40>>2];q=l;if(!j[b+84|0]){d=i[i[b+68>>2]+(d<<2)>>2]}d=Jn(q,h,d,0)+o|0;sn(g,d+n|0,l);ea(f+16|0,f+36|0,f+12|0,f+8|0);d=e<<2;i[d+k>>2]=i[f+12>>2];i[k+(d|4)>>2]=i[f+8>>2];h=1;e=e+2|0;a=a+1|0;g=i[c>>2];if(a>>>0>2]-g>>2>>>0){continue}break}break a}if(!d){h=1;break a}a=0;e=0;while(1){c=e;g=f+36|0;n=i[i[b>>2]>>2];o=i[b+48>>2];h=i[b+44>>2];l=i[b+40>>2];q=l;if(!j[b+84|0]){c=i[i[b+68>>2]+(e<<2)>>2]}c=Jn(q,h,c,0)+o|0;sn(g,c+n|0,l);ea(f+16|0,f+36|0,f+12|0,f+8|0);c=a<<2;i[c+k>>2]=i[f+12>>2];i[k+(c|4)>>2]=i[f+8>>2];a=a+2|0;h=1;e=e+1|0;if((e|0)!=(d|0)){continue}break}}L=f+48|0;return h}function Oe(a,b){var c=0,d=0,e=0;c=(a|0)==(b|0);g[b+12|0]=c;a:{if(c){break a}while(1){d=i[b+8>>2];if(j[d+12|0]){break a}b:{c=i[d+8>>2];e=i[c>>2];if((e|0)==(d|0)){e=i[c+4>>2];if(!(!e|j[e+12|0])){break b}c:{if(i[d>>2]==(b|0)){b=d;break c}b=i[d+4>>2];e=i[b>>2];i[d+4>>2]=e;a=b;if(e){i[e+8>>2]=d;c=i[d+8>>2]}i[a+8>>2]=c;a=i[d+8>>2];i[(((d|0)!=i[a>>2])<<2)+a>>2]=b;i[b>>2]=d;i[d+8>>2]=b;c=i[b+8>>2]}g[b+12|0]=1;g[c+12|0]=0;a=i[c>>2];b=i[a+4>>2];i[c>>2]=b;if(b){i[b+8>>2]=c}i[a+8>>2]=i[c+8>>2];b=i[c+8>>2];i[((i[b>>2]!=(c|0))<<2)+b>>2]=a;i[a+4>>2]=c;i[c+8>>2]=a;return}if(!(j[e+12|0]|!e)){break b}d:{if(i[d>>2]!=(b|0)){b=d;break d}e=i[b+4>>2];i[d>>2]=e;a=b;if(e){i[e+8>>2]=d;c=i[d+8>>2]}i[a+8>>2]=c;a=i[d+8>>2];i[(((d|0)!=i[a>>2])<<2)+a>>2]=b;i[b+4>>2]=d;i[d+8>>2]=b;c=i[b+8>>2]}g[b+12|0]=1;g[c+12|0]=0;a=i[c+4>>2];b=i[a>>2];i[c+4>>2]=b;if(b){i[b+8>>2]=c}i[a+8>>2]=i[c+8>>2];b=i[c+8>>2];i[((i[b>>2]!=(c|0))<<2)+b>>2]=a;i[a>>2]=c;i[c+8>>2]=a;break a}b=e+12|0;g[d+12|0]=1;g[c+12|0]=(a|0)==(c|0);g[b|0]=1;b=c;if((a|0)!=(b|0)){continue}break}}}function Uc(a,b,c,d){var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i[b>>2];e=i[c+4>>2]+(i[c>>2]-f<<3)|0;c=i[b+4>>2];g=e-c|0;a:{if((g|0)<=0){c=i[d+4>>2];break a}b:{if(!c){c=i[d+4>>2];break b}e=i[d+4>>2];j=32-e|0;l=32-c|0;h=(g|0)<(l|0)?g:l;k=j>>>0>>0?j:h;m=i[d>>2];f=i[f>>2]&(-1<>>l-h);i[m>>2]=i[m>>2]&(-1<>>j-k^-1)|(e>>>0>c>>>0?f<>>c-e|0);e=e+k|0;c=e&31;i[d+4>>2]=c;j=m+(e>>>3&536870908)|0;i[d>>2]=j;e=h-k|0;if((e|0)>=1){i[j>>2]=i[j>>2]&(-1>>>32-e^-1)|f>>>k+i[b+4>>2];i[d+4>>2]=e;c=e}g=g-h|0;f=i[b>>2]+4|0;i[b>>2]=f}k=-1<>2];f=i[f>>2];i[e>>2]=j&i[e>>2]|f<>2]=e+4;i[e+4>>2]=k&i[e+4>>2]|f>>>h;f=i[b>>2]+4|0;i[b>>2]=f;l=(g|0)>63;e=g+ -32|0;g=e;if(l){continue}break}}if((e|0)<1){break a}b=i[d>>2];g=(h|0)<(e|0)?h:e;j=i[b>>2]&(k&-1>>>h-g^-1);h=i[f>>2]&-1>>>32-e;i[b>>2]=j|h<>2]=c;f=b+(f>>>3&536870908)|0;i[d>>2]=f;b=e-g|0;if((b|0)<1){break a}i[f>>2]=i[f>>2]&(-1>>>32-b^-1)|h>>>g;i[d+4>>2]=b;c=b}b=i[d>>2];i[a+4>>2]=c;i[a>>2]=b}function Pb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=L-32|0;L=c;a:{b=i[a+16>>2];b:{if(b>>>0>=341){i[a+16>>2]=b+ -341;b=i[a+4>>2];i[c+8>>2]=i[b>>2];i[a+4>>2]=b+4;Qb(a,c+8|0);break b}c:{d=i[a+8>>2];e=d-i[a+4>>2]>>2;f=i[a+12>>2];b=f-i[a>>2]|0;if(e>>>0>2>>>0){if((d|0)==(f|0)){break c}g=c,h=Gm(4092),i[g+8>>2]=h;Qb(a,c+8|0);break b}i[c+24>>2]=a+12;i[c+20>>2]=0;b=b?b>>1:1;if(b>>>0>=1073741824){break a}d=b<<2;b=Gm(d);i[c+8>>2]=b;e=b+(e<<2)|0;i[c+16>>2]=e;i[c+20>>2]=b+d;i[c+12>>2]=e;g=c,h=Gm(4092),i[g+4>>2]=h;Qb(c+8|0,c+4|0);b=i[a+8>>2];d=i[a+4>>2];if((b|0)!=(d|0)){while(1){b=b+ -4|0;Rb(c+8|0,b);d=i[a+4>>2];if((d|0)!=(b|0)){continue}break}b=i[a+8>>2]}e=i[a>>2];i[a>>2]=i[c+8>>2];i[c+8>>2]=e;i[a+4>>2]=i[c+12>>2];i[c+12>>2]=d;i[a+8>>2]=i[c+16>>2];i[c+16>>2]=b;f=i[a+12>>2];i[a+12>>2]=i[c+20>>2];i[c+20>>2]=f;if((b|0)!=(d|0)){i[c+16>>2]=(((b-d|0)+ -4>>>2^-1)<<2)+b}if(!e){break b}qn(e);break b}g=c,h=Gm(4092),i[g+8>>2]=h;Rb(a,c+8|0);b=i[a+4>>2];i[c+8>>2]=i[b>>2];i[a+4>>2]=b+4;Qb(a,c+8|0)}L=c+32|0;return}Da(1756);x()}function Qc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=L-32|0;L=d;a:{c=i[a+4>>2];b:{if(c>>>0>>0){g=i[a+8>>2];e=g<<5;f=b-c|0;c:{if(!(e>>>0>>0|c>>>0>e-f>>>0)){i[a+4>>2]=b;b=c&31;a=i[a>>2]+(c>>>3&536870908)|0;break c}i[d+24>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;if((b|0)<=-1){break a}c=d+16|0;if(e>>>0<=1073741822){b=b+31&-32;e=g<<6;b=e>>>0>>0?b:e}else{b=2147483647}Sc(c,b);c=i[a+4>>2];i[d+20>>2]=c+f;b=i[d+16>>2];d:{if((c|0)<1){c=0;break d}g=i[a>>2];h=c>>>5|0;e=h<<2;b=un(b,g,e)+e|0;c=c-(h<<5)|0;if((c|0)<1){c=0;break d}h=-1>>>32-c|0;i[b>>2]=i[b>>2]&(h^-1)|h&i[e+g>>2]}i[d+12>>2]=c;i[d+8>>2]=b;c=i[d+8>>2];b=i[d+12>>2];e=i[a>>2];i[a>>2]=i[d+16>>2];i[d+16>>2]=e;g=i[a+4>>2];i[a+4>>2]=i[d+20>>2];i[d+20>>2]=g;g=i[a+8>>2];i[a+8>>2]=i[d+24>>2];i[d+24>>2]=g;if(e){qn(e)}a=c}if(!f){break b}if(b){c=32-b|0;e=c>>>0>f>>>0?f:c;i[a>>2]=i[a>>2]&(-1<>>c-e^-1);f=f-e|0;a=a+4|0}b=a;a=f>>>5<<2;b=tn(b,0,a);c=f&31;if(!c){break b}a=a+b|0;i[a>>2]=i[a>>2]&(-1>>>32-c^-1);break b}i[a+4>>2]=b}L=d+32|0;return}Vm();x()}function vg(a){a=a|0;var b=0,c=0,d=0,e=0;i[a>>2]=11568;wg(a+232|0);e=i[a+216>>2];if(e){c=e;b=i[a+220>>2];d=c;a:{if((c|0)==(b|0)){break a}while(1){c=i[b+ -12>>2];if(c){i[b+ -8>>2]=c;qn(c)}c=i[b+ -28>>2];if(c){i[b+ -24>>2]=c;qn(c)}c=b+ -144|0;d=i[b+ -40>>2];if(d){i[b+ -36>>2]=d;qn(d)}Tf(b+ -140|0);b=c;if((e|0)!=(b|0)){continue}break}d=i[a+216>>2]}c=d;i[a+220>>2]=e;qn(c)}b=i[a+196>>2];if(b){i[a+200>>2]=b;qn(b)}b=i[a+184>>2];if(b){i[a+188>>2]=b;qn(b)}b=i[a+172>>2];if(b){i[a+176>>2]=b;qn(b)}b=i[a+160>>2];if(b){i[a+164>>2]=b;qn(b)}b=i[a+144>>2];if(b){while(1){c=i[b>>2];qn(b);b=c;if(b){continue}break}}b=i[a+136>>2];i[a+136>>2]=0;if(b){qn(b)}b=i[a+120>>2];if(b){qn(b)}b=i[a+108>>2];if(b){qn(b)}b=i[a+96>>2];if(b){qn(b)}b=i[a+72>>2];if(b){i[a+76>>2]=b;qn(b)}b=i[a+60>>2];if(b){qn(b)}b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}b=i[a+36>>2];if(b){i[a+40>>2]=b;qn(b)}b=i[a+24>>2];if(b){i[a+28>>2]=b;qn(b)}b=i[a+12>>2];if(b){i[a+16>>2]=b;qn(b)}b=i[a+8>>2];i[a+8>>2]=0;if(b){Sf(a+8|0,b)}return a|0}function od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;l=i[b+12>>2];e=l;d=i[b+20>>2];f=d;a:{m=i[b+16>>2];c=m+4|0;if(c>>>0<4){d=d+1|0}n=i[b+8>>2];g=c;c=d;if((e|0)<(c|0)?1:(e|0)<=(c|0)?n>>>0>>0:0){break a}o=i[b>>2];d=o+m|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[b+16>>2]=g;i[b+20>>2]=c;c=l;d=f;h=m+8|0;if(h>>>0<8){d=d+1|0}if((c|0)<(d|0)?1:(c|0)<=(d|0)?n>>>0>>0:0){break a}c=g+o|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=h;i[b+20>>2]=d;if((e|0)>(c|0)){break a}i[a+16>>2]=c;i[a+12>>2]=e;g=e;e=(c>>31)-((e>>31)+(c>>>0>>0)|0)|0;c=c-g|0;if(!e&c>>>0>2147483646|e>>>0>0){break a}e=c+1|0;i[a+20>>2]=e;c=(e|0)/2|0;i[a+24>>2]=c;i[a+28>>2]=0-c;if(!(e&1)){i[a+24>>2]=c+ -1}if(k[b+38>>1]<=513){if((l|0)<(d|0)?1:(l|0)<=(d|0)?n>>>0<=h>>>0:0){break a}c=j[h+o|0];d=f;f=m+9|0;if(f>>>0<9){d=d+1|0}e=b;i[e+16>>2]=f;i[e+20>>2]=d;d=0;b:{switch(c|0){case 1:d=1;break;case 0:break b;default:break a}}i[a+88>>2]=d}return Ce(a+112|0,b)|0}return 0}function ya(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,k=0,m=0,n=0;e=i[a+12>>2];d=i[a+8>>2];f=e-d>>2;b=g[b+24|0];a:{if(f>>>0>>0){pa(a+8|0,b-f|0);d=i[a+8>>2];e=i[a+12>>2];break a}if(f>>>0<=b>>>0){break a}e=(b<<2)+d|0;i[a+12>>2]=e}b=0;h=i[c+12>>2];f=i[c+20>>2];k=i[c+16>>2];m=e-d|0;e=m;n=k+e|0;if(n>>>0>>0){f=f+1|0}b:{if((h|0)<(f|0)?1:(h|0)<=(f|0)?l[c+8>>2]>>0:0){break b}sn(d,k+i[c>>2]|0,m);d=i[c+20>>2];h=e+i[c+16>>2]|0;if(h>>>0>>0){d=d+1|0}e=h;i[c+16>>2]=e;i[c+20>>2]=d;f=i[c+12>>2];h=e+4|0;if(h>>>0<4){d=d+1|0}if((f|0)<(d|0)?1:(f|0)<=(d|0)?l[c+8>>2]>>0:0){break b}d=e+i[c>>2]|0;i[a+20>>2]=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);d=i[c+20>>2];e=d;k=i[c+16>>2];h=k+4|0;if(h>>>0<4){d=d+1|0}i[c+16>>2]=h;i[c+20>>2]=d;f=i[c+12>>2];if((f|0)<(d|0)?1:(f|0)<=(d|0)?l[c+8>>2]<=h>>>0:0){break b}f=j[h+i[c>>2]|0];d=e;e=k+5|0;if(e>>>0<5){d=d+1|0}i[c+16>>2]=e;i[c+20>>2]=d;if(f+ -1>>>0>29){break b}i[a+4>>2]=f;b=1}return b|0}function Sk(a,b){var c=0,d=0,e=0,f=0,h=0,j=0;j=L-16|0;L=j;a:{b:{if(b){i[a+88>>2]=0;i[a+92>>2]=0;c=a+84|0;d=i[c>>2];i[c>>2]=0;if(d){qn(d)}i[a+76>>2]=0;i[a+80>>2]=0;c=a+72|0;d=i[c>>2];i[c>>2]=0;if(d){qn(d)}d=i[b>>2];c=i[b+4>>2];g[j+15|0]=0;Lf(a,c-d>>2,j+15|0);c=b+28|0;d=i[c>>2];e=i[b+24>>2];g[j+14|0]=0;Lf(a+12|0,d-e>>2,j+14|0);Jk(a+28|0,i[b+4>>2]-i[b>>2]>>2,14476);d=i[a+52>>2];e=i[c>>2]-i[b+24>>2]|0;c=e>>2;c:{if(i[a+60>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break b}f=i[a+56>>2];h=c<<2;c=Gm(e);h=h+c|0;e=f-d|0;f=e+c|0;if((e|0)>=1){sn(c,d,e)}i[a+60>>2]=h;i[a+56>>2]=f;i[a+52>>2]=c;if(!d){break c}qn(d)}d=i[a+40>>2];e=i[b+28>>2]-i[b+24>>2]|0;c=e>>2;d:{if(i[a+48>>2]-d>>2>>>0>=c>>>0){break d}if(c>>>0>=1073741824){break a}f=i[a+44>>2];h=c<<2;c=Gm(e);h=h+c|0;e=f-d|0;f=e+c|0;if((e|0)>=1){sn(c,d,e)}i[a+48>>2]=h;i[a+44>>2]=f;i[a+40>>2]=c;if(!d){break d}qn(d)}g[a+24|0]=1;i[a+64>>2]=b}L=j+16|0;return}Da(14480);x()}Da(14480);x()}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i[a+12>>2];d=i[a+108>>2];e=i[d+80>>2];g[b+84|0]=0;f=i[b+68>>2];c=i[b+72>>2]-f>>2;a:{if(e>>>0>c>>>0){Yb(b+68|0,e-c|0,12516);d=i[a+108>>2];e=i[d+80>>2];break a}if(e>>>0>=c>>>0){break a}i[b+72>>2]=f+(e<<2)}m=i[d+96>>2];c=i[d+100>>2]-m|0;d=(c|0)/12|0;if(!c){return 1}p=d>>>0>1?d:1;d=0;b:{while(1){c:{if((d|0)==1431655765){break c}c=i[n>>2]+(o(d,3)<<2)|0;j=i[c>>2];if((j|0)==-1){break c}f=o(d,12)+m|0;h=i[f>>2];if(h>>>0>=e>>>0){break c}l=i[i[a+112>>2]+12>>2];k=i[l+(j<<2)>>2];if(k>>>0>=e>>>0){break c}j=i[b+68>>2];i[j+(h<<2)>>2]=k;h=i[c+4>>2];if((h|0)==-1){break c}k=i[f+4>>2];if(k>>>0>=e>>>0){break c}h=i[(h<<2)+l>>2];if(h>>>0>=e>>>0){break c}i[j+(k<<2)>>2]=h;c=i[c+8>>2];if((c|0)==-1){break c}f=i[f+8>>2];if(f>>>0>=e>>>0){break c}c=i[(c<<2)+l>>2];if(c>>>0>=e>>>0){break c}i[j+(f<<2)>>2]=c;c=1;d=d+1|0;if((p|0)!=(d|0)){continue}break b}break}c=0}return c|0}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i[a+12>>2];d=i[a+68>>2];e=i[d+80>>2];g[b+84|0]=0;f=i[b+68>>2];c=i[b+72>>2]-f>>2;a:{if(e>>>0>c>>>0){Yb(b+68|0,e-c|0,12516);d=i[a+68>>2];e=i[d+80>>2];break a}if(e>>>0>=c>>>0){break a}i[b+72>>2]=f+(e<<2)}m=i[d+96>>2];c=i[d+100>>2]-m|0;d=(c|0)/12|0;if(!c){return 1}p=d>>>0>1?d:1;d=0;b:{while(1){c:{if((d|0)==1431655765){break c}c=i[n>>2]+(o(d,3)<<2)|0;j=i[c>>2];if((j|0)==-1){break c}f=o(d,12)+m|0;h=i[f>>2];if(h>>>0>=e>>>0){break c}l=i[i[a+72>>2]+12>>2];k=i[l+(j<<2)>>2];if(k>>>0>=e>>>0){break c}j=i[b+68>>2];i[j+(h<<2)>>2]=k;h=i[c+4>>2];if((h|0)==-1){break c}k=i[f+4>>2];if(k>>>0>=e>>>0){break c}h=i[(h<<2)+l>>2];if(h>>>0>=e>>>0){break c}i[j+(k<<2)>>2]=h;c=i[c+8>>2];if((c|0)==-1){break c}f=i[f+8>>2];if(f>>>0>=e>>>0){break c}c=i[(c<<2)+l>>2];if(c>>>0>=e>>>0){break c}i[j+(f<<2)>>2]=c;c=1;d=d+1|0;if((p|0)!=(d|0)){continue}break b}break}c=0}return c|0}function Hg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=L-16|0;L=g;b=i[a+4>>2];d=i[b>>2];a:{c=i[a+12>>2];e=i[c+28>>2]-i[c+24>>2]|0;c=e>>2;b:{if(i[b+8>>2]-d>>2>>>0>=c>>>0){break b}if(c>>>0>=1073741824){break a}f=i[b+4>>2];h=c<<2;c=Gm(e);h=h+c|0;e=f-d|0;f=e+c|0;if((e|0)>=1){sn(c,d,e)}i[b+8>>2]=h;i[b+4>>2]=f;i[b>>2]=c;if(!d){break b}qn(d)}b=i[a+12>>2];d=i[b+28>>2];b=i[b+24>>2];i[g+12>>2]=0;b=d-b>>2;c=a+96|0;e=i[c>>2];d=i[a+100>>2]-e>>2;c:{if(b>>>0>d>>>0){Va(c,b-d|0,g+12|0);break c}if(b>>>0>=d>>>0){break c}i[a+100>>2]=e+(b<<2)}e=a+8|0;b=i[a+116>>2];d:{if(b){d=1;c=i[b>>2];if((c|0)==i[b+4>>2]){break d}b=0;while(1){d=Ig(e,i[(b<<2)+c>>2]);if(!d){break d}f=i[a+116>>2];c=i[f>>2];b=b+1|0;if(b>>>0>2]-c>>2>>>0){continue}break}break d}d=1;a=i[a+12>>2];a=(i[a+4>>2]-i[a>>2]>>2>>>0)/3|0;if(a>>>0<1){break d}b=0;while(1){d=Ig(e,o(b,3));b=b+1|0;if((a|0)==(b|0)){break d}if(d){continue}break}}L=g+16|0;return d|0}Da(12220);x()} -function Kf(a,b,c,d){var e=0,f=0,g=0,h=0,i=x(0),j=0,k=0;a:{b:{if(!d){break b}e=q[a+28>>2]+ -1|0;if(e>>>0>10){break b}c:{d:{e:{switch(e-1|0){default:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;h=o[b|0];q[e>>2]=h;q[e+4>>2]=h>>31;b=b+1|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 0:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;q[e>>2]=r[b|0];q[e+4>>2]=0;b=b+1|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 1:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;h=p[b>>1];q[e>>2]=h;q[e+4>>2]=h>>31;b=b+2|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 2:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;q[e>>2]=s[b>>1];q[e+4>>2]=0;b=b+2|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 3:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;h=q[b>>2];q[e>>2]=h;q[e+4>>2]=h>>31;b=b+4|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 4:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;q[e>>2]=q[b>>2];q[e+4>>2]=0;b=b+4|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 5:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){h=q[b+4>>2];e=(f<<3)+d|0;q[e>>2]=q[b>>2];q[e+4>>2]=h;b=b+8|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 6:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){h=q[b+4>>2];e=(f<<3)+d|0;q[e>>2]=q[b>>2];q[e+4>>2]=h;b=b+8|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}break a;case 7:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break c}g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;g=e;i=u[b>>2];f:{if(x(y(i))=x(1)?i>x(0)?~~x(A(x(C(x(i/x(4294967296)))),x(4294967296)))>>>0:~~x(D(x(x(i-x(~~i>>>0>>>0))/x(4294967296))))>>>0:0;k=~~i>>>0;break f}h=-2147483648;k=0}q[g>>2]=k;q[e+4>>2]=h;b=b+4|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break c;case 8:e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24<1){break d}g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;g=e;j=v[b>>3];g:{if(y(j)<0x8000000000000000){h=y(j)>=1?j>0?~~A(C(j/4294967296),4294967295)>>>0:~~D((j- +(~~j>>>0>>>0))/4294967296)>>>0:0;k=~~j>>>0;break g}h=-2147483648;k=0}q[g>>2]=k;q[e+4>>2]=h;b=b+8|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}break d;case 9:break e}}e=o[a+24|0];if(((e|0)>(c|0)?c:e)<<24>>24>=1){g=q[q[a>>2]>>2];e=q[a+48>>2]+$n(q[a+40>>2],q[a+44>>2],b,0)|0;b=g+e|0;while(1){e=(f<<3)+d|0;q[e>>2]=r[b|0];q[e+4>>2]=0;b=b+1|0;f=f+1|0;e=o[a+24|0];if((f|0)<((e|0)>(c|0)?c:e)<<24>>24){continue}break}}if((e|0)>=(c|0)){break b}Dn((e<<3)+d|0,0,c-e<<3);break b}if((e|0)>=(c|0)){break b}break a}if((e|0)>=(c|0)){break b}Dn((e<<3)+d|0,0,c-e<<3)}return}Dn((e<<3)+d|0,0,c-e<<3)}function Lf(a){a=a|0;var b=0;q[a>>2]=4048;q[a>>2]=3044;b=q[a+32>>2];if(b){q[a+36>>2]=b;An(b)}return a|0}function Mf(a){a=a|0;var c=0;q[a>>2]=4048;q[a>>2]=3044;c=q[a+32>>2];if(c){q[a+36>>2]=c;An(c)}An(a)}function Nf(a){a=a|0;return 6}function Of(a){a=a|0;var d=0;a:{if(!q[a- -64>>2]|!q[a+68>>2]|(!q[a+44>>2]|!q[a+48>>2])){break a}if(!q[a+52>>2]|!q[a+56>>2]){break a}d=q[a+92>>2]!=-1}return d|0}function Pf(a,l){a=a|0;l=l|0;var m=0;if(!(q[l+56>>2]|r[l+24|0]!=3)){q[a- -64>>2]=l;m=1}return m|0}function Qf(a,l){a=a|0;l=l|0;var n=0,o=0,p=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=q[l+12>>2];p=w;o=q[l+20>>2];u=o;x=q[l+16>>2];n=x+4|0;if(n>>>0<4){o=o+1|0}y=q[l+8>>2];t=n;n=o;a:{if((p|0)<(n|0)?1:(p|0)<=(n|0)?y>>>0>=t>>>0?0:1:0){break a}z=q[l>>2];o=x+z|0;p=r[o|0]|r[o+1|0]<<8|(r[o+2|0]<<16|r[o+3|0]<<24);q[l+16>>2]=t;q[l+20>>2]=n;n=w;o=u;v=x+8|0;if(v>>>0<8){o=o+1|0}if((n|0)<(o|0)?1:(n|0)<=(o|0)?y>>>0>=v>>>0?0:1:0){break a}n=t+z|0;n=r[n|0]|r[n+1|0]<<8|(r[n+2|0]<<16|r[n+3|0]<<24);q[l+16>>2]=v;q[l+20>>2]=o;if((p|0)>(n|0)){break a}q[a+16>>2]=n;q[a+12>>2]=p;t=p;p=(n>>31)-((p>>31)+(n>>>0

>>0)|0)|0;n=n-t|0;if(!p&n>>>0>2147483646|p>>>0>0){break a}p=n+1|0;q[a+20>>2]=p;t=a+24|0;n=(p|0)/2|0;q[t>>2]=n;q[a+28>>2]=0-n;if(!(p&1)){q[t>>2]=n+ -1}if(s[l+38>>1]<=513){if((w|0)<(o|0)?1:(w|0)<=(o|0)?y>>>0>v>>>0?0:1:0){break a}n=r[v+z|0];o=u;u=x+9|0;if(u>>>0<9){o=o+1|0}p=l;q[p+16>>2]=u;q[p+20>>2]=o;if(n>>>0>1){break a}q[a+88>>2]=n-1|0?0:1}A=bh(a+108|0,l)}return A|0}function Rf(a,l,r,s,B,C){a=a|0;l=l|0;r=r|0;s=s|0;B=B|0;C=C|0;var D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;E=T-32|0;T=E;q[a+68>>2]=C;s=q[a+56>>2];B=q[s>>2];C=s+4|0;D=q[C>>2];q[E+24>>2]=0;q[E+16>>2]=0;q[E+20>>2]=0;a:{B=D-B|0;if((B|0)<1){break a}s=q[s>>2];if((s|0)!=q[C>>2]){P=B>>2;Q=a+60|0;R=a+108|0;K=a+8|0;L=a+16|0;M=a+32|0;N=a+20|0;O=a+12|0;S=a+56|0;while(1){Sf(Q,q[(I<<2)+s>>2],E+16|0);B=q[E+20>>2];D=B>>31;C=q[E+16>>2];G=C>>31;J=q[E+24>>2];H=J>>31;s=0;H=H^H+J;D=H+((D^B+D)+(G^C+G)|0)|0;if(D>>>0>>0){s=1}b:{if(!(s|D)){q[E+16>>2]=q[a+104>>2];break b}G=q[a+104>>2];H=G>>31;B=ao($n(G,H,B,B>>31),V,D,s);q[E+20>>2]=B;s=ao($n(G,H,C,C>>31),V,D,s);q[E+16>>2]=s;C=s;s=s>>31;s=(G-(C+s^s)|0)+((B|0)<0?B:0-B|0)|0;if((J|0)>=0){q[E+24>>2]=s;break b}q[E+24>>2]=0-s}s=dh(R);C=q[E+16>>2];c:{if(!s){B=q[E+20>>2];break c}q[E+24>>2]=0-q[E+24>>2];B=0-q[E+20>>2]|0;q[E+20>>2]=B;C=0-C|0;q[E+16>>2]=C}d:{if((C|0)>=0){s=q[a+104>>2];C=s+q[E+24>>2]|0;s=s+B|0;break d}e:{if((B|0)<=-1){C=q[E+24>>2];s=C>>31;s=s^s+C;break e}C=q[E+24>>2];s=C>>31;s=q[a+100>>2]-(s^s+C)|0}if((C|0)<=-1){C=B;B=B>>31;C=C+B^B;break d}C=B;B=B>>31;C=q[a+100>>2]-(C+B^B)|0}B=q[a+100>>2];f:{if(!(s|C)){C=B;s=B;break f}if(!((B|0)!=(C|0)|s)){s=C;break f}if(!((s|0)!=(B|0)|C)){C=s;break f}g:{if(s){break g}D=q[a+104>>2];if((D|0)>=(C|0)){break g}C=(D<<1)-C|0;s=0;break f}h:{if((s|0)!=(B|0)){break h}D=q[a+104>>2];if((D|0)<=(C|0)){break h}C=(D<<1)-C|0;break f}i:{if((B|0)!=(C|0)){break i}B=q[a+104>>2];if((B|0)<=(s|0)){break i}s=(B<<1)-s|0;break f}if(C){break f}C=0;B=q[a+104>>2];if((B|0)>=(s|0)){break f}s=(B<<1)-s|0}q[E+12>>2]=C;q[E+8>>2]=s;j:{if(q[K>>2]<1){break j}C=0;while(1){D=q[L>>2];k:{if((s|0)>(D|0)){B=q[M>>2];q[B+(C<<2)>>2]=D;break k}B=q[M>>2];D=B+(C<<2)|0;G=q[O>>2];if((s|0)<(G|0)){q[D>>2]=G;break k}q[D>>2]=s}C=C+1|0;D=q[K>>2];if((C|0)<(D|0)){s=q[(E+8|0)+(C<<2)>>2];continue}break}s=0;if((D|0)<1){break j}C=I<<3;G=C+r|0;J=l+C|0;while(1){D=s<<2;C=D+G|0;D=q[D+J>>2]+q[B+D>>2]|0;q[C>>2]=D;l:{if((D|0)>q[L>>2]){H=D-q[N>>2]|0}else{if((D|0)>=q[O>>2]){break l}H=D+q[N>>2]|0}q[C>>2]=H}s=s+1|0;if((s|0)>2]){continue}break}}I=I+1|0;if((I|0)>=(P|0)){break a}B=q[S>>2];s=q[B>>2];if(q[B+4>>2]-s>>2>>>0>I>>>0){continue}break}}cn();F()}T=E+32|0;return 1}function Sf(a,l,s){a=a|0;l=l|0;s=s|0;var B=0,C=0,U=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;C=T-96|0;T=C;B=q[a+16>>2];o[C+92|0]=1;q[C+88>>2]=l;q[C+84>>2]=l;q[C+80>>2]=B;W=q[a+20>>2];U=q[W>>2];a:{b:{c:{d:{B=q[q[B+28>>2]+(l<<2)>>2];if(q[W+4>>2]-U>>2>>>0>B>>>0){B=q[q[a+8>>2]+(q[U+(B<<2)>>2]<<2)>>2];U=q[a+4>>2];if(!r[U+84|0]){B=q[q[U+68>>2]+(B<<2)>>2]}q[C+72>>2]=0;q[C+76>>2]=0;W=C- -64|0;q[W>>2]=0;q[W+4>>2]=0;q[C+56>>2]=0;q[C+60>>2]=0;Kf(U,B,o[U+24|0],C+56|0);if((l|0)==-1){break a}B=l+1|0;W=(B>>>0)%3|0?B:l+ -2|0;ea=((l>>>0)%3|0?-1:2)+l|0;la=a+28|0;X=!q[la>>2];ma=a+20|0;na=a+16|0;oa=a+8|0;while(1){U=W;B=ea;e:{if(X){break e}B=l+1|0;U=(B>>>0)%3|0?B:l+ -2|0;B=l+ -1|0;if((l>>>0)%3){break e}B=l+2|0}X=q[ma>>2];l=q[X>>2];U=q[q[q[na>>2]+28>>2]+(U<<2)>>2];if(q[X+4>>2]-l>>2>>>0<=U>>>0){break d}U=q[q[oa>>2]+(q[l+(U<<2)>>2]<<2)>>2];X=a+4|0;l=q[X>>2];if(!r[l+84|0]){U=q[q[l+68>>2]+(U<<2)>>2]}q[C+48>>2]=0;q[C+52>>2]=0;q[C+40>>2]=0;q[C+44>>2]=0;q[C+32>>2]=0;q[C+36>>2]=0;Kf(l,U,o[l+24|0],C+32|0);U=q[ma>>2];l=q[U>>2];B=q[q[q[na>>2]+28>>2]+(B<<2)>>2];if(q[U+4>>2]-l>>2>>>0<=B>>>0){break c}U=q[q[oa>>2]+(q[l+(B<<2)>>2]<<2)>>2];l=q[X>>2];if(!r[l+84|0]){U=q[q[l+68>>2]+(U<<2)>>2]}X=C+24|0;B=X;q[B>>2]=0;q[B+4>>2]=0;_=C+16|0;B=_;q[B>>2]=0;q[B+4>>2]=0;q[C+8>>2]=0;q[C+12>>2]=0;Kf(l,U,o[l+24|0],C+8|0);B=q[C+8>>2];l=q[C+56>>2];fa=B-l|0;ga=q[C+60>>2];U=q[C+12>>2]-(ga+(B>>>0>>0)|0)|0;ha=q[C+40>>2];B=q[C+64>>2];pa=ha-B|0;ia=q[C+68>>2];ha=q[C+44>>2]-(ia+(ha>>>0>>0)|0)|0;ja=$n(fa,U,pa,ha);ka=Y-ja|0;$=$-(V+(Y>>>0>>0)|0)|0;Y=q[_>>2];ja=Y-B|0;_=q[_+4>>2]-((Y>>>0>>0)+ia|0)|0;Y=q[C+32>>2];ia=Y-l|0;ga=q[C+36>>2]-((Y>>>0>>0)+ga|0)|0;B=$n(ja,_,ia,ga);Y=B+ka|0;l=V+$|0;l=Y>>>0>>0?l+1|0:l;$=l;B=Z;ba=fa;qa=U;Z=q[C+48>>2];l=q[C+72>>2];U=Z-l|0;fa=q[C+76>>2];ka=q[C+52>>2]-(fa+(Z>>>0>>0)|0)|0;ba=$n(ba,qa,U,ka);Z=B+ba|0;B=V+ca|0;B=Z>>>0>>0?B+1|0:B;ca=Z;Z=q[X>>2];ba=Z-l|0;l=q[X+4>>2]-((Z>>>0>>0)+fa|0)|0;X=$n(ba,l,ia,ga);Z=ca-X|0;ca=B-(V+(ca>>>0>>0)|0)|0;B=$n(ja,_,U,ka);U=aa-B|0;da=da-(V+(aa>>>0>>0)|0)|0;B=$n(ba,l,pa,ha);aa=B+U|0;l=V+da|0;l=aa>>>0>>0?l+1|0:l;da=l;Uf(C+80|0);_=q[la>>2];X=!_;l=q[C+88>>2];if((l|0)!=-1){continue}break}l=ca;B=l>>31;a=l>>31;l=a+l|0;W=B+Z|0;if(W>>>0>>0){l=l+1|0}B=B^W;X=a^l;l=da;a=l>>31;l=l>>31;W=a;ea=da+a|0;U=l+aa|0;if(U>>>0>>0){ea=ea+1|0}a=l^U;U=W^ea;f:{if(($|0)<-1?1:($|0)<=-1?Y>>>0>4294967295?0:1:0){l=Y;W=a+(B-l|0)|0;l=U+(X-((B>>>0>>0)+$|0)|0)|0;B=W;a=B>>>0>>0?l+1|0:l;if(!_){break f}break b}l=X+$|0;W=B;B=Y;W=W+B|0;if(W>>>0>>0){l=l+1|0}B=a;W=B+W|0;a=l+U|0;a=W>>>0>>0?a+1|0:a;B=W;if(_){break b}}if((B|0)<536870913){break a}a=((a&536870911)<<3|B>>>29)&7;l=0;Y=ao(Y,$,a,l);Z=ao(Z,ca,a,l);aa=ao(aa,da,a,l);break a}cn();F()}cn();F()}cn();F()}if((a|0)<0?1:(a|0)<=0?B>>>0>=536870913?0:1:0){break a}l=a>>>29;a=(a&536870911)<<3|B>>>29;Y=ao(Y,$,a,l);Z=ao(Z,ca,a,l);aa=ao(aa,da,a,l)}q[s+8>>2]=Y;q[s+4>>2]=Z;q[s>>2]=aa;T=C+96|0}function Tf(a,l){a=a|0;l=l|0;if(l>>>0<=1){q[a+28>>2]=l;a=1}else{a=0}return a|0}function Uf(a){var l=0,s=0,F=0;l=q[a+8>>2];F=q[a>>2];a:{if(r[a+12|0]){b:{c:{d:{e:{if((l|0)==-1){break e}s=l+1|0;l=(s>>>0)%3|0?s:l+ -2|0;if((l|0)==-1|q[q[F>>2]+(l>>>3&536870908)>>2]>>>(l&31)&1){break e}l=q[q[q[F+64>>2]+12>>2]+(l<<2)>>2];if((l|0)!=-1){break d}}q[a+8>>2]=-1;break c}s=l+1|0;l=(s>>>0)%3|0?s:l+ -2|0;q[a+8>>2]=l;if((l|0)!=-1){break b}}l=-1;s=q[a+4>>2];f:{if((s|0)==-1){break f}s=s+((s>>>0)%3|0?-1:2)|0;if((s|0)==-1|q[q[F>>2]+(s>>>3&536870908)>>2]>>>(s&31)&1){break f}F=q[q[q[F+64>>2]+12>>2]+(s<<2)>>2];if((F|0)==-1){break f}if((F>>>0)%3){l=F+ -1|0;break f}l=F+2|0}o[a+12|0]=0;q[a+8>>2]=l;return}if((l|0)!=q[a+4>>2]){break a}q[a+8>>2]=-1;return}s=-1;g:{if((l|0)==-1){break g}l=l+((l>>>0)%3|0?-1:2)|0;if((l|0)==-1|q[q[F>>2]+(l>>>3&536870908)>>2]>>>(l&31)&1){break g}l=q[q[q[F+64>>2]+12>>2]+(l<<2)>>2];if((l|0)==-1){break g}if((l>>>0)%3){s=l+ -1|0;break g}s=l+2|0}q[a+8>>2]=s}}function Vf(a,r,T,V){var ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;q[a>>2]=3044;q[a+4>>2]=r;r=q[T+8>>2];ra=q[T+12>>2];sa=q[T+16>>2];ua=q[T+20>>2];va=q[T>>2];wa=q[T+4>>2];q[a+40>>2]=0;ta=a+32|0;q[ta>>2]=0;q[ta+4>>2]=0;q[a+24>>2]=sa;q[a+28>>2]=ua;q[a+16>>2]=r;q[a+20>>2]=ra;q[a+8>>2]=va;q[a+12>>2]=wa;a:{r=q[T+28>>2]-q[T+24>>2]|0;b:{if(!r){break b}ra=r>>2;if(ra>>>0>=1073741824){break a}r=Mm(r);q[a+32>>2]=r;sa=a+36|0;q[sa>>2]=r;q[a+40>>2]=r+(ra<<2);ra=q[T+24>>2];T=q[T+28>>2]-ra|0;if((T|0)<1){break b}xa=sa,ya=Cn(r,ra,T)+T|0,q[xa>>2]=ya}q[a>>2]=5044;r=q[V+4>>2];q[a+44>>2]=q[V>>2];q[a+48>>2]=r;r=q[V+12>>2];q[a+52>>2]=q[V+8>>2];q[a+56>>2]=r;return}bn();F()}function Wf(a,r,T,V,za,Aa){a=a|0;r=r|0;T=T|0;V=V|0;za=za|0;Aa=Aa|0;var Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0;q[a+8>>2]=za;Aa=a+32|0;Ca=q[Aa>>2];V=q[a+36>>2]-Ca>>2;a:{if(V>>>0>>0){Fa(Aa,za-V|0);break a}if(V>>>0<=za>>>0){break a}q[a+36>>2]=Ca+(za<<2)}Ra=q[a+52>>2];Oa=q[a+48>>2];V=0;Aa=(za&1073741823)!=(za|0)?-1:za<<2;Na=Dn(Mm(Aa),0,Aa);Ga=a+8|0;Aa=q[Ga>>2];b:{if((Aa|0)<1){break b}Ia=a+16|0;Ca=a+32|0;Ja=a+12|0;while(1){Aa=V<<2;Ba=q[Aa+Na>>2];Ea=q[Ia>>2];c:{if((Ba|0)>(Ea|0)){Ha=q[Ca>>2];q[Aa+Ha>>2]=Ea;break c}Ha=q[Ca>>2];Aa=Aa+Ha|0;Ea=q[Ja>>2];if((Ba|0)<(Ea|0)){q[Aa>>2]=Ea;break c}q[Aa>>2]=Ba}V=V+1|0;Aa=q[Ga>>2];if((V|0)<(Aa|0)){continue}break}if((Aa|0)<1){break b}Ca=0;Ga=a+16|0;Ba=a+20|0;Ia=a+8|0;Ja=a+12|0;while(1){Aa=Ca<<2;V=Aa+T|0;Aa=q[r+Aa>>2]+q[Aa+Ha>>2]|0;q[V>>2]=Aa;d:{if((Aa|0)>q[Ga>>2]){Aa=Aa-q[Ba>>2]|0}else{if((Aa|0)>=q[Ja>>2]){break d}Aa=Aa+q[Ba>>2]|0}q[V>>2]=Aa}Ca=Ca+1|0;Aa=q[Ia>>2];if((Ca|0)<(Aa|0)){continue}break}}V=q[a+56>>2];Pa=q[V>>2];V=q[V+4>>2]-Pa|0;if((V|0)>=5){Qa=V>>2;Ha=a+16|0;Ga=a+32|0;Ia=a+8|0;Ja=a+20|0;Ea=a+12|0;Ca=1;while(1){e:{f:{if(Qa>>>0>Ca>>>0){Ma=w(za,Ca);a=q[(Ca<<2)+Pa>>2];if((a|0)==-1){break f}a=q[q[Oa+12>>2]+(a<<2)>>2];if((a|0)==-1){break f}V=-1;Da=q[Ra>>2];Ba=q[Oa>>2];Ka=q[Da+(q[Ba+(a<<2)>>2]<<2)>>2];La=a+1|0;La=(La>>>0)%3|0?La:a+ -2|0;if((La|0)!=-1){La=q[Ba+(La<<2)>>2]}else{La=-1}a=a+((a>>>0)%3|0?-1:2)|0;if((a|0)!=-1){V=q[Ba+(a<<2)>>2]}if((Ka|0)>=(Ca|0)){break f}a=q[(La<<2)+Da>>2];if((a|0)>=(Ca|0)){break f}V=q[Da+(V<<2)>>2];if((V|0)>=(Ca|0)){break f}if((za|0)>=1){Ba=w(V,za);a=w(a,za);Da=w(za,Ka);V=0;while(1){q[(V<<2)+Na>>2]=(q[(V+Ba<<2)+T>>2]+q[(a+V<<2)+T>>2]|0)-q[(V+Da<<2)+T>>2];V=V+1|0;if((za|0)!=(V|0)){continue}break}}if((Aa|0)<1){break e}V=0;while(1){a=V<<2;Aa=q[a+Na>>2];Da=q[Ha>>2];g:{if((Aa|0)>(Da|0)){Ba=q[Ga>>2];q[a+Ba>>2]=Da;break g}Ba=q[Ga>>2];a=a+Ba|0;Da=q[Ea>>2];if((Aa|0)<(Da|0)){q[a>>2]=Da;break g}q[a>>2]=Aa}V=V+1|0;Aa=q[Ia>>2];if((V|0)<(Aa|0)){continue}break}V=0;if((Aa|0)<1){break e}a=Ma<<2;Ma=a+T|0;Da=a+r|0;while(1){Aa=V<<2;a=Aa+Ma|0;Aa=q[Aa+Da>>2]+q[Aa+Ba>>2]|0;q[a>>2]=Aa;h:{if((Aa|0)>q[Ha>>2]){Aa=Aa-q[Ja>>2]|0}else{if((Aa|0)>=q[Ea>>2]){break h}Aa=Aa+q[Ja>>2]|0}q[a>>2]=Aa}V=V+1|0;Aa=q[Ia>>2];if((V|0)<(Aa|0)){continue}break}break e}cn();F()}if((Aa|0)<1){break e}Da=(w(Ca+ -1|0,za)<<2)+T|0;V=0;while(1){a=V<<2;Aa=q[a+Da>>2];Ka=q[Ha>>2];i:{if((Aa|0)>(Ka|0)){Ba=q[Ga>>2];q[a+Ba>>2]=Ka;break i}Ba=q[Ga>>2];a=a+Ba|0;Ka=q[Ea>>2];if((Aa|0)<(Ka|0)){q[a>>2]=Ka;break i}q[a>>2]=Aa}V=V+1|0;Aa=q[Ia>>2];if((V|0)<(Aa|0)){continue}break}V=0;if((Aa|0)<1){break e}a=Ma<<2;Ma=a+T|0;Da=a+r|0;while(1){Aa=V<<2;a=Aa+Ma|0;Aa=q[Aa+Da>>2]+q[Aa+Ba>>2]|0;q[a>>2]=Aa;j:{if((Aa|0)>q[Ha>>2]){Aa=Aa-q[Ja>>2]|0}else{if((Aa|0)>=q[Ea>>2]){break j}Aa=Aa+q[Ja>>2]|0}q[a>>2]=Aa}V=V+1|0;Aa=q[Ia>>2];if((V|0)<(Aa|0)){continue}break}}Ca=Ca+1|0;if((Ca|0)<(Qa|0)){continue}break}}An(Na);return 1}function Xf(a,r,T,V,za,Aa){a=a|0;r=r|0;T=T|0;V=V|0;za=za|0;Aa=Aa|0;var Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0;q[a+8>>2]=za;Aa=a+32|0;Sa=q[Aa>>2];V=q[a+36>>2]-Sa>>2;a:{if(V>>>0>>0){Fa(Aa,za-V|0);break a}if(V>>>0<=za>>>0){break a}q[a+36>>2]=Sa+(za<<2)}Sa=0;V=(za&1073741823)!=(za|0)?-1:za<<2;$a=Dn(Mm(V),0,V);db=Dn(Mm(V),0,V);Va=a+8|0;Ta=q[Va>>2];b:{if((Ta|0)<1){break b}Za=a+16|0;V=a+32|0;_a=a+12|0;while(1){Aa=Sa<<2;Ta=q[Aa+$a>>2];Wa=q[Za>>2];c:{if((Ta|0)>(Wa|0)){Ua=q[V>>2];q[Aa+Ua>>2]=Wa;break c}Ua=q[V>>2];Aa=Aa+Ua|0;Wa=q[_a>>2];if((Ta|0)<(Wa|0)){q[Aa>>2]=Wa;break c}q[Aa>>2]=Ta}Sa=Sa+1|0;Ta=q[Va>>2];if((Sa|0)<(Ta|0)){continue}break}if((Ta|0)<1){break b}Aa=0;Za=a+16|0;Va=a+20|0;_a=a+8|0;Wa=a+12|0;while(1){Sa=Aa<<2;V=Sa+T|0;Sa=q[r+Sa>>2]+q[Sa+Ua>>2]|0;q[V>>2]=Sa;d:{if((Sa|0)>q[Za>>2]){Xa=Sa-q[Va>>2]|0}else{if((Sa|0)>=q[Wa>>2]){break d}Xa=Sa+q[Va>>2]|0}q[V>>2]=Xa}Aa=Aa+1|0;Ta=q[_a>>2];if((Aa|0)<(Ta|0)){continue}break}}V=q[a+56>>2];eb=q[V>>2];V=q[V+4>>2]-eb|0;if((V|0)>=5){fb=V>>2;gb=q[a+48>>2];kb=za<<2;lb=q[a+52>>2];Za=a+16|0;_a=a+32|0;Wa=a+8|0;bb=a+20|0;cb=a+12|0;Va=1;while(1){e:{f:{g:{if(fb>>>0>Va>>>0){Aa=q[(Va<<2)+eb>>2];hb=(za|0)<1;if(!hb){Dn($a,0,kb)}if((Aa|0)==-1){a=w(za,Va);break f}ib=q[gb+12>>2];Ya=0;V=Aa;while(1){a=q[ib+(V<<2)>>2];h:{if((a|0)==-1){break h}Ua=-1;ab=q[lb>>2];Sa=q[gb>>2];jb=q[ab+(q[Sa+(a<<2)>>2]<<2)>>2];Xa=a+1|0;Xa=(Xa>>>0)%3|0?Xa:a+ -2|0;if((Xa|0)!=-1){Xa=q[Sa+(Xa<<2)>>2]}else{Xa=-1}a=a+((a>>>0)%3|0?-1:2)|0;if((a|0)!=-1){Ua=q[Sa+(a<<2)>>2]}if((jb|0)>=(Va|0)){break h}a=q[(Xa<<2)+ab>>2];if((a|0)>=(Va|0)){break h}Sa=q[ab+(Ua<<2)>>2];if((Sa|0)>=(Va|0)){break h}i:{if(hb){break i}Ua=w(za,Sa);a=w(a,za);ab=w(za,jb);Sa=0;while(1){q[db+(Sa<<2)>>2]=(q[(Sa+Ua<<2)+T>>2]+q[(a+Sa<<2)+T>>2]|0)-q[(Sa+ab<<2)+T>>2];Sa=Sa+1|0;if((Sa|0)!=(za|0)){continue}break}Sa=0;if((za|0)<=0){break i}while(1){a=Sa<<2;Ua=a+$a|0;q[Ua>>2]=q[Ua>>2]+q[a+db>>2];Sa=Sa+1|0;if((Sa|0)!=(za|0)){continue}break}}Ya=Ya+1|0}V=((V>>>0)%3|0?-1:2)+V|0;a=-1;j:{if((V|0)==-1){break j}V=q[ib+(V<<2)>>2];a=-1;if((V|0)==-1){break j}a=V+ -1|0;if((V>>>0)%3){break j}a=V+2|0}V=(a|0)==(Aa|0)?-1:a;if((V|0)!=-1){continue}break}a=w(za,Va);if(!Ya){break f}Sa=0;if((za|0)<=0){break g}while(1){V=(Sa<<2)+$a|0;q[V>>2]=q[V>>2]/(Ya|0);Sa=Sa+1|0;if((Sa|0)!=(za|0)){continue}break}break g}cn();F()}if((Ta|0)<1){break e}Sa=0;while(1){V=Sa<<2;Aa=q[V+$a>>2];Ta=q[Za>>2];k:{if((Aa|0)>(Ta|0)){Ua=q[_a>>2];q[V+Ua>>2]=Ta;break k}Ua=q[_a>>2];V=V+Ua|0;Ta=q[cb>>2];if((Aa|0)<(Ta|0)){q[V>>2]=Ta;break k}q[V>>2]=Aa}Sa=Sa+1|0;Ta=q[Wa>>2];if((Sa|0)<(Ta|0)){continue}break}Aa=0;if((Ta|0)<1){break e}a=a<<2;Sa=a+T|0;Ya=a+r|0;while(1){V=Aa<<2;a=V+Sa|0;V=q[V+Ya>>2]+q[V+Ua>>2]|0;q[a>>2]=V;l:{if((V|0)>q[Za>>2]){V=V-q[bb>>2]|0}else{if((V|0)>=q[cb>>2]){break l}V=V+q[bb>>2]|0}q[a>>2]=V}Aa=Aa+1|0;Ta=q[Wa>>2];if((Aa|0)<(Ta|0)){continue}break}break e}if((Ta|0)<1){break e}Ya=(w(Va+ -1|0,za)<<2)+T|0;Sa=0;while(1){V=Sa<<2;Aa=q[V+Ya>>2];Ta=q[Za>>2];m:{if((Aa|0)>(Ta|0)){Ua=q[_a>>2];q[V+Ua>>2]=Ta;break m}Ua=q[_a>>2];V=V+Ua|0;Ta=q[cb>>2];if((Aa|0)<(Ta|0)){q[V>>2]=Ta;break m}q[V>>2]=Aa}Sa=Sa+1|0;Ta=q[Wa>>2];if((Sa|0)<(Ta|0)){continue}break}Aa=0;if((Ta|0)<1){break e}a=a<<2;Sa=a+T|0;Ya=a+r|0;while(1){V=Aa<<2;a=V+Sa|0;V=q[V+Ya>>2]+q[V+Ua>>2]|0;q[a>>2]=V;n:{if((V|0)>q[Za>>2]){V=V-q[bb>>2]|0}else{if((V|0)>=q[cb>>2]){break n}V=V+q[bb>>2]|0}q[a>>2]=V}Aa=Aa+1|0;Ta=q[Wa>>2];if((Aa|0)<(Ta|0)){continue}break}}Va=Va+1|0;if((Va|0)<(fb|0)){continue}break}}An(db);An($a);return 1}function Yf(a){a=a|0;var r=0;q[a>>2]=5324;r=q[a+96>>2];if(r){An(r)}r=q[a+84>>2];if(r){An(r)}r=q[a+72>>2];if(r){An(r)}r=q[a+60>>2];if(r){An(r)}q[a>>2]=3044;r=q[a+32>>2];if(r){q[a+36>>2]=r;An(r)}return a|0}function Zf(a){a=a|0;var T=0;q[a>>2]=5324;T=q[a+96>>2];if(T){An(T)}T=q[a+84>>2];if(T){An(T)}T=q[a+72>>2];if(T){An(T)}T=q[a+60>>2];if(T){An(T)}q[a>>2]=3044;T=q[a+32>>2];if(T){q[a+36>>2]=T;An(T)}An(a)}function _f(a,V,za,Aa,mb,nb){a=a|0;V=V|0;za=za|0;Aa=Aa|0;mb=mb|0;nb=nb|0;var ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0;qb=T+ -64|0;T=qb;q[a+8>>2]=mb;nb=a+32|0;rb=q[nb>>2];Aa=q[a+36>>2]-rb>>2;a:{if(Aa>>>0>>0){Fa(nb,mb-Aa|0);break a}if(Aa>>>0<=mb>>>0){break a}q[a+36>>2]=rb+(mb<<2)}q[qb+56>>2]=0;q[qb+60>>2]=0;q[qb+48>>2]=0;q[qb+52>>2]=0;q[qb+40>>2]=0;q[qb+44>>2]=0;Aa=qb+32|0;q[Aa>>2]=0;q[Aa+4>>2]=0;q[qb+24>>2]=0;q[qb+28>>2]=0;q[qb+16>>2]=0;q[qb+20>>2]=0;q[qb>>2]=0;nb=0;if(mb){Ad(qb+16|0,mb,qb);pb=q[qb+28>>2];nb=q[Aa>>2]}q[qb>>2]=0;Aa=nb-pb>>2;b:{if(Aa>>>0>=mb>>>0){if(Aa>>>0<=mb>>>0){break b}q[qb+32>>2]=(mb<<2)+pb;break b}Ad(qb+16|12,mb-Aa|0,qb)}q[qb>>2]=0;nb=q[qb+40>>2];Aa=q[qb+44>>2]-nb>>2;c:{if(Aa>>>0>=mb>>>0){if(Aa>>>0<=mb>>>0){break c}q[qb+44>>2]=nb+(mb<<2);break c}Ad(qb+40|0,mb-Aa|0,qb)}q[qb>>2]=0;nb=q[qb+52>>2];Aa=q[qb+56>>2]-nb>>2;d:{if(Aa>>>0>=mb>>>0){if(Aa>>>0<=mb>>>0){break d}q[qb+56>>2]=nb+(mb<<2);break d}Ad(qb+52|0,mb-Aa|0,qb)}tb=a+8|0;e:{if(q[tb>>2]<=0){break e}vb=q[qb+16>>2];pb=0;sb=a+16|0;Aa=a+32|0;Ab=a+12|0;while(1){nb=pb<<2;ob=q[nb+vb>>2];wb=q[sb>>2];f:{if((ob|0)>(wb|0)){rb=q[Aa>>2];q[nb+rb>>2]=wb;break f}rb=q[Aa>>2];nb=nb+rb|0;wb=q[Ab>>2];if((ob|0)<(wb|0)){q[nb>>2]=wb;break f}q[nb>>2]=ob}pb=pb+1|0;nb=q[tb>>2];if((pb|0)<(nb|0)){continue}break}if((nb|0)<1){break e}nb=0;tb=a+16|0;pb=a+20|0;vb=a+8|0;sb=a+12|0;while(1){ob=nb<<2;Aa=ob+za|0;ob=q[V+ob>>2]+q[ob+rb>>2]|0;q[Aa>>2]=ob;g:{if((ob|0)>q[tb>>2]){ob=ob-q[pb>>2]|0}else{if((ob|0)>=q[sb>>2]){break g}ob=ob+q[pb>>2]|0}q[Aa>>2]=ob}nb=nb+1|0;if((nb|0)>2]){continue}break}}Lb=q[a+52>>2];Ib=q[a+48>>2];Hb=Mm(16);Aa=Hb;q[Aa>>2]=0;q[Aa+4>>2]=0;q[Aa+8>>2]=0;q[Aa+12>>2]=0;q[qb+8>>2]=0;q[qb>>2]=0;q[qb+4>>2]=0;h:{if(mb){if(mb>>>0>=1073741824){break h}Aa=mb<<2;Bb=Mm(Aa);q[qb>>2]=Bb;nb=Aa+Bb|0;q[qb+8>>2]=nb;Dn(Bb,0,Aa);q[qb+4>>2]=nb}rb=1;Aa=q[a+56>>2];Jb=q[Aa>>2];Aa=q[Aa+4>>2]-Jb|0;i:{if((Aa|0)<5){break i}Kb=Aa>>2;Mb=mb<<2;vb=a+8|0;Ab=a+16|0;wb=a+32|0;Eb=a+20|0;Fb=a+12|0;tb=1;while(1){j:{k:{l:{if(Kb>>>0>tb>>>0){m:{n:{rb=q[(tb<<2)+Jb>>2];if((rb|0)==-1){break n}ub=q[Ib+12>>2];Db=rb+((rb>>>0)%3|0?-1:2)|0;Gb=ub+(Db<<2)|0;sb=1;nb=0;Aa=rb;o:{while(1){ob=q[ub+(Aa<<2)>>2];p:{if((ob|0)==-1){break p}pb=-1;zb=q[Lb>>2];xb=q[Ib>>2];Cb=q[zb+(q[xb+(ob<<2)>>2]<<2)>>2];yb=ob+1|0;yb=(yb>>>0)%3|0?yb:ob+ -2|0;if((yb|0)!=-1){yb=q[xb+(yb<<2)>>2]}else{yb=-1}ob=ob+((ob>>>0)%3|0?-1:2)|0;if((ob|0)!=-1){pb=q[xb+(ob<<2)>>2]}if((Cb|0)>=(tb|0)){break p}ob=q[(yb<<2)+zb>>2];if((ob|0)>=(tb|0)){break p}pb=q[zb+(pb<<2)>>2];if((pb|0)>=(tb|0)){break p}xb=q[(qb+16|0)+w(nb,12)>>2];if((mb|0)>=1){zb=w(mb,pb);ob=w(mb,ob);Cb=w(mb,Cb);pb=0;while(1){q[xb+(pb<<2)>>2]=(q[(pb+zb<<2)+za>>2]+q[(ob+pb<<2)+za>>2]|0)-q[(pb+Cb<<2)+za>>2];pb=pb+1|0;if((pb|0)!=(mb|0)){continue}break}}ob=4;nb=nb+1|0;if((nb|0)==4){break o}}q:{if(sb&1){xb=Aa+1|0;Aa=(xb>>>0)%3|0?xb:Aa+ -2|0;ob=-1;if((Aa|0)==-1){break q}Aa=q[ub+(Aa<<2)>>2];ob=-1;if((Aa|0)==-1){break q}ob=Aa+1|0;ob=(ob>>>0)%3|0?ob:Aa+ -2|0;break q}Aa=((Aa>>>0)%3|0?-1:2)+Aa|0;ob=-1;if((Aa|0)==-1){break q}Aa=q[ub+(Aa<<2)>>2];ob=-1;if((Aa|0)==-1){break q}ob=Aa+ -1|0;if((Aa>>>0)%3){break q}ob=Aa+2|0}r:{if((ob|0)==(rb|0)){break r}Aa=ob;ob=(ob|0)!=-1;pb=(ob|sb^-1)&1;Aa=pb?Aa:-1;sb=ob&sb;if(!((Db|0)==-1|pb)){ob=q[Gb>>2];if((ob|0)==-1){break r}sb=0;if((ob>>>0)%3){Aa=ob+ -1|0}else{Aa=ob+2|0}}if((Aa|0)!=-1){continue}}break}ob=nb;if((ob|0)<1){break n}}ub=(mb|0)<1;if(!ub){Dn(Bb,0,Mb)}Aa=ob+ -1|0;sb=(Aa<<2)+Hb|0;Aa=w(Aa,12)+a|0;xb=Aa+60|0;zb=q[Aa- -64>>2];rb=0;Cb=q[qb>>2];Aa=0;nb=0;while(1){pb=q[sb>>2];q[sb>>2]=pb+1;if(zb>>>0<=pb>>>0){break i}s:{if(q[q[xb>>2]+(pb>>>3&536870908)>>2]>>>(pb&31)&1){break s}nb=nb+1|0;if(ub){break s}yb=q[(qb+16|0)+w(Aa,12)>>2];pb=0;while(1){Db=pb<<2;Gb=Db+Cb|0;q[Gb>>2]=q[Gb>>2]+q[yb+Db>>2];pb=pb+1|0;if((pb|0)!=(mb|0)){continue}break}}Aa=Aa+1|0;if((ob|0)!=(Aa|0)){continue}break}ob=w(mb,tb);Aa=ob;if(!nb){break m}pb=0;if((mb|0)>0){break l}break k}Aa=w(mb,tb)}if(q[vb>>2]<1){break j}sb=(w(tb+ -1|0,mb)<<2)+za|0;pb=0;while(1){nb=pb<<2;ob=q[nb+sb>>2];ub=q[Ab>>2];t:{if((ob|0)>(ub|0)){rb=q[wb>>2];q[nb+rb>>2]=ub;break t}rb=q[wb>>2];nb=nb+rb|0;ub=q[Fb>>2];if((ob|0)<(ub|0)){q[nb>>2]=ub;break t}q[nb>>2]=ob}pb=pb+1|0;ob=q[vb>>2];if((pb|0)<(ob|0)){continue}break}nb=0;if((ob|0)<1){break j}Aa=Aa<<2;pb=Aa+za|0;sb=V+Aa|0;while(1){ob=nb<<2;Aa=ob+pb|0;ob=q[ob+sb>>2]+q[ob+rb>>2]|0;q[Aa>>2]=ob;u:{if((ob|0)>q[Ab>>2]){ob=ob-q[Eb>>2]|0}else{if((ob|0)>=q[Fb>>2]){break u}ob=ob+q[Eb>>2]|0}q[Aa>>2]=ob}nb=nb+1|0;if((nb|0)>2]){continue}break}break j}cn();F()}while(1){Aa=(pb<<2)+Bb|0;q[Aa>>2]=q[Aa>>2]/(nb|0);pb=pb+1|0;if((pb|0)!=(mb|0)){continue}break}}if(q[vb>>2]<1){break j}pb=0;while(1){Aa=pb<<2;nb=q[Aa+Bb>>2];sb=q[Ab>>2];v:{if((nb|0)>(sb|0)){rb=q[wb>>2];q[Aa+rb>>2]=sb;break v}rb=q[wb>>2];Aa=Aa+rb|0;sb=q[Fb>>2];if((nb|0)<(sb|0)){q[Aa>>2]=sb;break v}q[Aa>>2]=nb}pb=pb+1|0;Aa=q[vb>>2];if((pb|0)<(Aa|0)){continue}break}nb=0;if((Aa|0)<1){break j}Aa=ob<<2;pb=Aa+za|0;sb=V+Aa|0;while(1){ob=nb<<2;Aa=ob+pb|0;ob=q[ob+sb>>2]+q[ob+rb>>2]|0;q[Aa>>2]=ob;w:{if((ob|0)>q[Ab>>2]){ob=ob-q[Eb>>2]|0}else{if((ob|0)>=q[Fb>>2]){break w}ob=ob+q[Eb>>2]|0}q[Aa>>2]=ob}nb=nb+1|0;if((nb|0)>2]){continue}break}}rb=1;tb=tb+1|0;if((tb|0)<(Kb|0)){continue}break}}a=q[qb>>2];if(a){q[qb+4>>2]=a;An(a)}An(Hb);a=q[qb+52>>2];if(a){q[qb+56>>2]=a;An(a)}a=q[qb+40>>2];if(a){q[qb+44>>2]=a;An(a)}a=q[qb+28>>2];if(a){q[qb+32>>2]=a;An(a)}a=q[qb+16>>2];if(a){q[qb+20>>2]=a;An(a)}T=qb- -64|0;return rb|0}bn();F()}function $f(a){a=a|0;var V=0,za=0;q[a>>2]=5560;V=q[a+76>>2];if(V){An(V)}za=a+68|0;V=q[za>>2];q[za>>2]=0;if(V){An(V)}q[a>>2]=3044;V=q[a+32>>2];if(V){q[a+36>>2]=V;An(V)}return a|0}function ag(a){a=a|0;var Aa=0,Fa=0;q[a>>2]=5560;Aa=q[a+76>>2];if(Aa){An(Aa)}Fa=a+68|0;Aa=q[Fa>>2];q[Fa>>2]=0;if(Aa){An(Aa)}q[a>>2]=3044;Aa=q[a+32>>2];if(Aa){q[a+36>>2]=Aa;An(Aa)}An(a)}function bg(a,mb,nb,Nb,Ob,Pb){a=a|0;mb=mb|0;nb=nb|0;Nb=Nb|0;Ob=Ob|0;Pb=Pb|0;var Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0;q[a+64>>2]=Pb;q[a+72>>2]=Ob;Pb=Mm((Ob&1073741823)!=(Ob|0)?-1:Ob<<2);Nb=q[a+68>>2];q[a+68>>2]=Pb;if(Nb){An(Nb)}q[a+8>>2]=Ob;Pb=a+32|0;Qb=q[Pb>>2];Nb=q[a+36>>2]-Qb>>2;a:{if(Nb>>>0>>0){Fa(Pb,Ob-Nb|0);break a}if(Nb>>>0<=Ob>>>0){break a}q[a+36>>2]=Qb+(Ob<<2)}b:{Nb=q[a+56>>2];Qb=q[Nb+4>>2];Pb=q[Nb>>2];Nb=Qb-Pb|0;if((Nb|0)<1){break b}if((Pb|0)!=(Qb|0)){_b=Nb>>2;Ub=a+8|0;Wb=a+16|0;Xb=a+32|0;Yb=a+20|0;Zb=a+12|0;$b=a+56|0;while(1){cg(a,q[(Sb<<2)+Pb>>2],nb,Sb);c:{if(q[Ub>>2]<1){break c}Vb=q[a+68>>2];Pb=0;while(1){Nb=Pb<<2;Qb=q[Nb+Vb>>2];Rb=q[Wb>>2];d:{if((Qb|0)>(Rb|0)){Tb=q[Xb>>2];q[Nb+Tb>>2]=Rb;break d}Tb=q[Xb>>2];Nb=Nb+Tb|0;Rb=q[Zb>>2];if((Qb|0)<(Rb|0)){q[Nb>>2]=Rb;break d}q[Nb>>2]=Qb}Pb=Pb+1|0;Qb=q[Ub>>2];if((Pb|0)<(Qb|0)){continue}break}Nb=0;if((Qb|0)<1){break c}Pb=w(Ob,Sb)<<2;Vb=Pb+nb|0;Rb=mb+Pb|0;while(1){Qb=Nb<<2;Pb=Qb+Vb|0;Qb=q[Qb+Rb>>2]+q[Qb+Tb>>2]|0;q[Pb>>2]=Qb;e:{if((Qb|0)>q[Wb>>2]){Qb=Qb-q[Yb>>2]|0}else{if((Qb|0)>=q[Zb>>2]){break e}Qb=Qb+q[Yb>>2]|0}q[Pb>>2]=Qb}Nb=Nb+1|0;if((Nb|0)>2]){continue}break}}Sb=Sb+1|0;if((Sb|0)>=(_b|0)){break b}Nb=q[$b>>2];Pb=q[Nb>>2];if(q[Nb+4>>2]-Pb>>2>>>0>Sb>>>0){continue}break}}cn();F()}return 1}function cg(a,mb,nb,Nb){var Ob=0,Pb=0,ac=0,bc=x(0),cc=0,dc=x(0),ec=x(0),fc=x(0),gc=x(0),hc=x(0),ic=x(0),jc=x(0),kc=0,lc=0,mc=x(0),nc=x(0),oc=x(0),pc=x(0),qc=x(0),rc=0,sc=x(0),tc=x(0),uc=x(0);Ob=T-48|0;T=Ob;Pb=-1;cc=-1;a:{if((mb|0)==-1){break a}ac=((mb>>>0)%3|0?-1:2)+mb|0;kc=q[a+48>>2];rc=mb+1|0;mb=(rc>>>0)%3|0?rc:mb+ -2|0;if((mb|0)!=-1){Pb=q[q[kc>>2]+(mb<<2)>>2]}if((ac|0)==-1){break a}cc=q[q[kc>>2]+(ac<<2)>>2]}ac=q[a+52>>2];mb=q[ac>>2];ac=q[ac+4>>2]-mb>>2;if(!(ac>>>0<=Pb>>>0|ac>>>0<=cc>>>0)){b:{c:{Pb=q[mb+(Pb<<2)>>2];kc=(Pb|0)>=(Nb|0);if(kc){break c}ac=q[mb+(cc<<2)>>2];if((ac|0)>=(Nb|0)){break c}mb=q[a+72>>2];cc=(w(mb,ac)<<2)+nb|0;dc=x(q[cc+4>>2]);mb=(w(mb,Pb)<<2)+nb|0;jc=x(q[mb+4>>2]);mc=x(q[cc>>2]);pc=x(q[mb>>2]);if(!(mc!=pc|dc!=jc)){a=q[a+68>>2];mb=a;if(x(y(dc))>2]=nb;if(x(y(mc))>2]=~~mc;break b}q[a>>2]=-2147483648;break b}cc=q[q[a+64>>2]+(Nb<<2)>>2];q[Ob+40>>2]=0;q[Ob+32>>2]=0;q[Ob+36>>2]=0;mb=q[a+60>>2];if(!r[mb+84|0]){cc=q[q[mb+68>>2]+(cc<<2)>>2]}Da(mb,cc,o[mb+24|0],Ob+32|0);Pb=q[q[a+64>>2]+(Pb<<2)>>2];q[Ob+24>>2]=0;q[Ob+16>>2]=0;q[Ob+20>>2]=0;mb=q[a+60>>2];if(!r[mb+84|0]){Pb=q[q[mb+68>>2]+(Pb<<2)>>2]}Da(mb,Pb,o[mb+24|0],Ob+16|0);nb=q[q[a+64>>2]+(ac<<2)>>2];q[Ob+8>>2]=0;q[Ob>>2]=0;q[Ob+4>>2]=0;mb=q[a+60>>2];if(!r[mb+84|0]){nb=q[q[mb+68>>2]+(nb<<2)>>2]}Da(mb,nb,o[mb+24|0],Ob);nc=u[Ob+40>>2];oc=u[Ob+36>>2];fc=u[Ob+32>>2];sc=u[Ob+16>>2];ec=x(u[Ob>>2]-sc);tc=u[Ob+20>>2];gc=x(u[Ob+4>>2]-tc);uc=u[Ob+24>>2];hc=x(u[Ob+8>>2]-uc);qc=x(x(x(x(ec*ec)+x(0))+x(gc*gc))+x(hc*hc));d:{if(!(qc>x(0))){ic=x(0);if(q[a+88>>2]>257){break d}}fc=x(fc-sc);oc=x(oc-tc);nc=x(nc-uc);bc=x(x(x(x(x(ec*fc)+x(0))+x(gc*oc))+x(hc*nc))/qc);hc=x(nc-x(hc*bc));gc=x(oc-x(gc*bc));ec=x(fc-x(ec*bc));ic=x(E(x(x(x(hc*hc)+x(x(gc*gc)+x(x(ec*ec)+x(0))))/qc)))}fc=ic;nb=a+80|0;mb=q[nb>>2]+ -1|0;Nb=q[q[a+76>>2]+(mb>>>3&536870908)>>2];q[nb>>2]=mb;ec=x(dc-jc);ic=x(x(ec*bc)+jc);jc=x(mc-pc);dc=x(jc*fc);mb=Nb>>>(mb&31)&1;dc=x(ic+(mb?dc:x(-dc)));ic=x(x(jc*bc)+pc);bc=x(ec*fc);bc=x(ic+(mb?x(-bc):bc));e:{if(((k(bc),e(0))&2147483647)>>>0>=2139095041){mb=q[a+68>>2];q[mb>>2]=-2147483648;break e}mb=q[a+68>>2];a=mb;lc=C(+bc+.5);f:{if(y(lc)<2147483648){nb=~~lc;break f}nb=-2147483648}q[a>>2]=nb}nb=((k(dc),e(0))&2147483647)>>>0>2139095040;lc=C(+dc+.5);g:{if(y(lc)<2147483648){a=~~lc;break g}a=-2147483648}q[mb+4>>2]=nb?-2147483648:a;break b}h:{if(!kc){mb=q[a+72>>2];Nb=w(Pb,mb);break h}if((Nb|0)<=0){if(q[a+72>>2]<1){break b}nb=q[a+68>>2];mb=0;while(1){q[nb+(mb<<2)>>2]=0;mb=mb+1|0;if((mb|0)>2]){continue}break}break b}mb=q[a+72>>2];Nb=w(mb,Nb+ -1|0)}if((mb|0)<1){break b}Pb=q[a+68>>2];mb=0;while(1){q[Pb+(mb<<2)>>2]=q[(mb+Nb<<2)+nb>>2];mb=mb+1|0;if((mb|0)>2]){continue}break}}T=Ob+48|0;return}cn();F()}function dg(a){a=a|0;var mb=0;q[a>>2]=5776;mb=q[a+76>>2];if(mb){An(mb)}q[a>>2]=3044;mb=q[a+32>>2];if(mb){q[a+36>>2]=mb;An(mb)}return a|0}function eg(a){a=a|0;var nb=0;q[a>>2]=5776;nb=q[a+76>>2];if(nb){An(nb)}q[a>>2]=3044;nb=q[a+32>>2];if(nb){q[a+36>>2]=nb;An(nb)}An(a)}function fg(a,Nb,vc,wc,xc,yc){a=a|0;Nb=Nb|0;vc=vc|0;wc=wc|0;xc=xc|0;yc=yc|0;var zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0;wc=0;a:{if((xc|0)!=2){break a}q[a+8>>2]=2;q[a- -64>>2]=yc;wc=a+32|0;xc=q[wc>>2];yc=q[a+36>>2]-xc|0;zc=yc>>2;b:{if(zc>>>0<=1){Fa(wc,2-zc|0);break b}if((yc|0)==8){break b}q[a+36>>2]=xc+8}wc=1;xc=q[a+56>>2];yc=q[xc+4>>2];xc=q[xc>>2];zc=yc-xc|0;if((zc|0)<1){break a}if((xc|0)!=(yc|0)){Hc=a+60|0;Ic=zc>>2;zc=a+8|0;Dc=a+16|0;Ec=a+32|0;Fc=a+20|0;Gc=a+12|0;Jc=a+56|0;while(1){if(!gg(Hc,q[(Bc<<2)+xc>>2],vc,Bc)){wc=0;break a}c:{if(q[zc>>2]<1){break c}xc=0;while(1){wc=xc<<2;yc=q[(wc+a|0)+68>>2];Ac=q[Dc>>2];d:{if((yc|0)>(Ac|0)){Cc=q[Ec>>2];q[wc+Cc>>2]=Ac;break d}Cc=q[Ec>>2];wc=wc+Cc|0;Ac=q[Gc>>2];if((yc|0)<(Ac|0)){q[wc>>2]=Ac;break d}q[wc>>2]=yc}xc=xc+1|0;wc=q[zc>>2];if((xc|0)<(wc|0)){continue}break}yc=0;if((wc|0)<1){break c}wc=Bc<<3;Ac=wc+vc|0;Kc=Nb+wc|0;while(1){xc=yc<<2;wc=xc+Ac|0;xc=q[xc+Kc>>2]+q[xc+Cc>>2]|0;q[wc>>2]=xc;e:{if((xc|0)>q[Dc>>2]){xc=xc-q[Fc>>2]|0}else{if((xc|0)>=q[Gc>>2]){break e}xc=xc+q[Fc>>2]|0}q[wc>>2]=xc}yc=yc+1|0;if((yc|0)>2]){continue}break}}wc=1;Bc=Bc+1|0;if((Bc|0)>=(Ic|0)){break a}wc=q[Jc>>2];xc=q[wc>>2];if(q[wc+4>>2]-xc>>2>>>0>Bc>>>0){continue}break}}cn();F()}return wc|0}function gg(a,Nb,vc,wc){var xc=0,yc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0;Lc=T-80|0;T=Lc;xc=-1;yc=-1;a:{if((Nb|0)==-1){break a}Mc=((Nb>>>0)%3|0?-1:2)+Nb|0;Nc=q[a+32>>2];Pc=Nb+1|0;Nb=(Pc>>>0)%3|0?Pc:Nb+ -2|0;if((Nb|0)!=-1){xc=q[q[Nc>>2]+(Nb<<2)>>2]}if((Mc|0)==-1){break a}yc=q[q[Nc>>2]+(Mc<<2)>>2]}Mc=q[a+36>>2];Nb=q[Mc>>2];b:{c:{d:{e:{Mc=q[Mc+4>>2]-Nb>>2;if(!(Mc>>>0<=xc>>>0|Mc>>>0<=yc>>>0)){f:{g:{Sc=q[Nb+(xc<<2)>>2];Uc=(Sc|0)>=(wc|0);if(Uc){break g}yc=q[Nb+(yc<<2)>>2];if((yc|0)>=(wc|0)){break g}Nb=yc<<3;Zc=q[(Nb|4)+vc>>2];xc=Sc<<3;Pc=q[(xc|4)+vc>>2];Wc=q[Nb+vc>>2];Yc=q[vc+xc>>2];if(!((Wc|0)!=(Yc|0)|(Pc|0)!=(Zc|0))){q[a+8>>2]=Yc;q[a+12>>2]=Pc;break f}Nb=q[q[a+4>>2]+(wc<<2)>>2];q[Lc+72>>2]=0;q[Lc+76>>2]=0;xc=Lc- -64|0;q[xc>>2]=0;q[xc+4>>2]=0;q[Lc+56>>2]=0;q[Lc+60>>2]=0;xc=q[a>>2];if(!r[xc+84|0]){Nb=q[q[xc+68>>2]+(Nb<<2)>>2]}Kf(xc,Nb,o[xc+24|0],Lc+56|0);Nb=q[q[a+4>>2]+(Sc<<2)>>2];q[Lc+48>>2]=0;q[Lc+52>>2]=0;q[Lc+40>>2]=0;q[Lc+44>>2]=0;q[Lc+32>>2]=0;q[Lc+36>>2]=0;xc=q[a>>2];if(!r[xc+84|0]){Nb=q[q[xc+68>>2]+(Nb<<2)>>2]}Kf(xc,Nb,o[xc+24|0],Lc+32|0);Nb=q[q[a+4>>2]+(yc<<2)>>2];q[Lc+24>>2]=0;q[Lc+28>>2]=0;q[Lc+16>>2]=0;q[Lc+20>>2]=0;q[Lc+8>>2]=0;q[Lc+12>>2]=0;xc=q[a>>2];if(!r[xc+84|0]){Nb=q[q[xc+68>>2]+(Nb<<2)>>2]}Kf(xc,Nb,o[xc+24|0],Lc+8|0);_c=q[Lc+44>>2];Nb=q[Lc+16>>2];Oc=q[Lc+40>>2];xc=Oc;yc=q[Lc+20>>2]-(_c+(Nb>>>0>>0)|0)|0;ad=Nb-xc|0;Nb=$n(ad,yc,ad,yc);xc=V;Rc=Nb;$c=q[Lc+36>>2];Nb=q[Lc+8>>2];Qc=q[Lc+32>>2];Nc=Qc;Mc=q[Lc+12>>2]-($c+(Nb>>>0>>0)|0)|0;bd=Nb-Nc|0;Nc=$n(bd,Mc,bd,Mc);Nb=Rc+Nc|0;xc=V+xc|0;xc=Nb>>>0>>0?xc+1|0:xc;Vc=Nb;dd=q[Lc+52>>2];Nb=q[Lc+24>>2];Rc=q[Lc+48>>2];Nc=Rc;Tc=q[Lc+28>>2]-(dd+(Nb>>>0>>0)|0)|0;cd=Nb-Nc|0;Nc=$n(cd,Tc,cd,Tc);Nb=Vc+Nc|0;xc=V+xc|0;Xc=Nb;Nc=Nb>>>0>>0?xc+1|0:xc;if(!(Nb|Nc)){break g}wc=1;Nb=0;xc=q[Lc+64>>2];vc=q[Lc+68>>2]-((xc>>>0>>0)+_c|0)|0;xc=xc-Oc|0;Sc=xc;Uc=vc;vc=$n(ad,yc,xc,vc);xc=V;Vc=vc;Oc=q[Lc+56>>2];vc=Oc-Qc|0;_c=q[Lc+60>>2]-((Oc>>>0>>0)+$c|0)|0;Qc=$n(vc,_c,bd,Mc);Oc=Vc+Qc|0;xc=V+xc|0;xc=Oc>>>0>>0?xc+1|0:xc;Vc=Oc;Oc=q[Lc+72>>2];Qc=Oc-Rc|0;$c=q[Lc+76>>2]-((Oc>>>0>>0)+dd|0)|0;Rc=$n(Qc,$c,cd,Tc);Oc=Vc+Rc|0;xc=V+xc|0;xc=Oc>>>0>>0?xc+1|0:xc;Rc=Oc;Oc=xc;yc=ao($n(Rc,xc,ad,yc),V,Xc,Nc);Uc=Uc-(V+(Sc>>>0>>0)|0)|0;yc=Sc-yc|0;yc=$n(yc,Uc,yc,Uc);Sc=V;Vc=yc;xc=ao($n(bd,Mc,Rc,xc),V,Xc,Nc);yc=_c-(V+(vc>>>0>>0)|0)|0;vc=vc-xc|0;yc=$n(vc,yc,vc,yc);vc=Vc+yc|0;xc=V+Sc|0;xc=vc>>>0>>0?xc+1|0:xc;Mc=vc;vc=ao($n(Rc,Oc,cd,Tc),V,Xc,Nc);yc=$c-(V+(Qc>>>0>>0)|0)|0;vc=Qc-vc|0;yc=$n(vc,yc,vc,yc);vc=Mc+yc|0;xc=V+xc|0;yc=$n(vc,vc>>>0>>0?xc+1|0:xc,Xc,Nc);vc=V;Mc=vc;if(!vc&yc>>>0<=1|vc>>>0<0){break e}Tc=yc;vc=Mc;while(1){xc=Nb<<1|wc>>>31;wc=wc<<1;Nb=xc;Qc=!vc&Tc>>>0>7|vc>>>0>0;Tc=(vc&3)<<30|Tc>>>2;vc=vc>>>2;if(Qc){continue}break}break d}xc=a;if(Uc){if((wc|0)<=0){q[a+8>>2]=0;q[a+12>>2]=0;break f}Nb=(wc<<1)+ -2|0}else{Nb=Sc<<1}Nb=(Nb<<2)+vc|0;q[xc+8>>2]=q[Nb>>2];q[a+12>>2]=q[Nb+4>>2]}vc=1;break b}cn();F()}wc=yc;Nb=Mc;if(yc-1){break c}}while(1){vc=bo(yc,Mc,wc,Nb)+wc|0;xc=Nb+V|0;xc=vc>>>0>>0?xc+1|0:xc;wc=(xc&1)<<31|vc>>>1;Nb=xc>>>1;vc=$n(wc,Nb,wc,Nb);xc=V;if((Mc|0)==(xc|0)&vc>>>0>yc>>>0|xc>>>0>Mc>>>0){continue}break}}xc=q[a+20>>2];vc=0;if(!xc){break b}Mc=xc+ -1|0;Tc=q[q[a+16>>2]+(Mc>>>3&536870908)>>2];q[a+20>>2]=Mc;vc=Zc;xc=Pc;Qc=vc-xc|0;Pc=xc>>31;Zc=(vc>>31)-(Pc+(vc>>>0>>0)|0)|0;vc=$n(Rc,Oc,Qc,Zc);yc=V;Pc=$n(xc,Pc,Xc,Nc);vc=Pc+vc|0;xc=V+yc|0;xc=vc>>>0>>0?xc+1|0:xc;Vc=vc;vc=Wc;yc=Yc;Sc=vc-yc|0;Yc=yc>>31;Pc=(vc>>31)-(Yc+(vc>>>0>>0)|0)|0;vc=$n(wc,Nb,Sc,Pc);Wc=vc;vc=Tc>>>(Mc&31)&1;Uc=vc?0-Wc|0:Wc;Mc=Vc+Uc|0;Tc=xc;xc=V;xc=Tc+(vc?0-(xc+(0>>0)|0)|0:xc)|0;ed=a,fd=ao(Mc,Mc>>>0>>0?xc+1|0:xc,Xc,Nc),q[ed+12>>2]=fd;xc=$n(Rc,Oc,Sc,Pc);Mc=V;Wc=a;yc=$n(yc,Yc,Xc,Nc);a=yc+xc|0;xc=V+Mc|0;xc=a>>>0>>0?xc+1|0:xc;Oc=a;a=$n(wc,Nb,Qc,Zc);wc=vc?a:0-a|0;Nb=Oc+wc|0;Oc=xc;xc=V;a=Oc+(vc?xc:0-((0>>0)+xc|0)|0)|0;ed=Wc,fd=ao(Nb,Nb>>>0>>0?a+1|0:a,Xc,Nc),q[ed+8>>2]=fd;vc=1}T=Lc+80|0;return vc}function hg(a){a=a|0;var Nb=0;q[a>>2]=6e3;q[a>>2]=3044;Nb=q[a+32>>2];if(Nb){q[a+36>>2]=Nb;An(Nb)}return a|0}function ig(a){a=a|0;var vc=0;q[a>>2]=6e3;q[a>>2]=3044;vc=q[a+32>>2];if(vc){q[a+36>>2]=vc;An(vc)}An(a)}function jg(a,wc,gd,hd,id,jd){a=a|0;wc=wc|0;gd=gd|0;hd=hd|0;id=id|0;jd=jd|0;var kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0;ld=T-32|0;T=ld;q[a+68>>2]=jd;hd=q[a+56>>2];id=q[hd>>2];jd=hd+4|0;kd=q[jd>>2];q[ld+24>>2]=0;q[ld+16>>2]=0;q[ld+20>>2]=0;a:{id=kd-id|0;if((id|0)<1){break a}hd=q[hd>>2];if((hd|0)!=q[jd>>2]){vd=id>>2;wd=a+60|0;xd=a+108|0;qd=a+8|0;rd=a+16|0;sd=a+32|0;td=a+20|0;ud=a+12|0;yd=a+56|0;while(1){kg(wd,q[(od<<2)+hd>>2],ld+16|0);id=q[ld+20>>2];kd=id>>31;jd=q[ld+16>>2];md=jd>>31;pd=q[ld+24>>2];nd=pd>>31;hd=0;nd=nd^nd+pd;kd=nd+((kd^id+kd)+(md^jd+md)|0)|0;if(kd>>>0>>0){hd=1}b:{if(!(hd|kd)){q[ld+16>>2]=q[a+104>>2];break b}md=q[a+104>>2];nd=md>>31;id=ao($n(md,nd,id,id>>31),V,kd,hd);q[ld+20>>2]=id;hd=ao($n(md,nd,jd,jd>>31),V,kd,hd);q[ld+16>>2]=hd;jd=hd;hd=hd>>31;hd=(md-(jd+hd^hd)|0)+((id|0)<0?id:0-id|0)|0;if((pd|0)>=0){q[ld+24>>2]=hd;break b}q[ld+24>>2]=0-hd}hd=dh(xd);jd=q[ld+16>>2];c:{if(!hd){id=q[ld+20>>2];break c}q[ld+24>>2]=0-q[ld+24>>2];id=0-q[ld+20>>2]|0;q[ld+20>>2]=id;jd=0-jd|0;q[ld+16>>2]=jd}d:{if((jd|0)>=0){hd=q[a+104>>2];jd=hd+q[ld+24>>2]|0;hd=hd+id|0;break d}e:{if((id|0)<=-1){jd=q[ld+24>>2];hd=jd>>31;hd=hd^hd+jd;break e}jd=q[ld+24>>2];hd=jd>>31;hd=q[a+100>>2]-(hd^hd+jd)|0}if((jd|0)<=-1){jd=id;id=id>>31;jd=jd+id^id;break d}jd=id;id=id>>31;jd=q[a+100>>2]-(jd+id^id)|0}id=q[a+100>>2];f:{if(!(hd|jd)){jd=id;hd=id;break f}if(!((id|0)!=(jd|0)|hd)){hd=jd;break f}if(!((hd|0)!=(id|0)|jd)){jd=hd;break f}g:{if(hd){break g}kd=q[a+104>>2];if((kd|0)>=(jd|0)){break g}jd=(kd<<1)-jd|0;hd=0;break f}h:{if((hd|0)!=(id|0)){break h}kd=q[a+104>>2];if((kd|0)<=(jd|0)){break h}jd=(kd<<1)-jd|0;break f}i:{if((id|0)!=(jd|0)){break i}id=q[a+104>>2];if((id|0)<=(hd|0)){break i}hd=(id<<1)-hd|0;break f}if(jd){break f}jd=0;id=q[a+104>>2];if((id|0)>=(hd|0)){break f}hd=(id<<1)-hd|0}q[ld+12>>2]=jd;q[ld+8>>2]=hd;j:{if(q[qd>>2]<1){break j}jd=0;while(1){kd=q[rd>>2];k:{if((hd|0)>(kd|0)){id=q[sd>>2];q[id+(jd<<2)>>2]=kd;break k}id=q[sd>>2];kd=id+(jd<<2)|0;md=q[ud>>2];if((hd|0)<(md|0)){q[kd>>2]=md;break k}q[kd>>2]=hd}jd=jd+1|0;kd=q[qd>>2];if((jd|0)<(kd|0)){hd=q[(ld+8|0)+(jd<<2)>>2];continue}break}hd=0;if((kd|0)<1){break j}jd=od<<3;md=jd+gd|0;pd=wc+jd|0;while(1){kd=hd<<2;jd=kd+md|0;kd=q[kd+pd>>2]+q[id+kd>>2]|0;q[jd>>2]=kd;l:{if((kd|0)>q[rd>>2]){nd=kd-q[td>>2]|0}else{if((kd|0)>=q[ud>>2]){break l}nd=kd+q[td>>2]|0}q[jd>>2]=nd}hd=hd+1|0;if((hd|0)>2]){continue}break}}od=od+1|0;if((od|0)>=(vd|0)){break a}id=q[yd>>2];hd=q[id>>2];if(q[id+4>>2]-hd>>2>>>0>od>>>0){continue}break}}cn();F()}T=ld+32|0;return 1}function kg(a,wc,gd){a=a|0;wc=wc|0;gd=gd|0;var hd=0,id=0,jd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0;jd=T-96|0;T=jd;id=q[a+16>>2];o[jd+92|0]=1;q[jd+88>>2]=wc;q[jd+84>>2]=wc;q[jd+80>>2]=id;hd=-1;hd=(wc|0)!=-1?q[q[id>>2]+(wc<<2)>>2]:hd;zd=q[a+20>>2];id=q[zd>>2];a:{b:{c:{d:{if(q[zd+4>>2]-id>>2>>>0>hd>>>0){id=q[q[a+8>>2]+(q[id+(hd<<2)>>2]<<2)>>2];hd=q[a+4>>2];if(!r[hd+84|0]){id=q[q[hd+68>>2]+(id<<2)>>2]}q[jd+72>>2]=0;q[jd+76>>2]=0;zd=jd- -64|0;q[zd>>2]=0;q[zd+4>>2]=0;q[jd+56>>2]=0;q[jd+60>>2]=0;Kf(hd,id,o[hd+24|0],jd+56|0);if((wc|0)==-1){break a}hd=wc+1|0;zd=(hd>>>0)%3|0?hd:wc+ -2|0;Jd=((wc>>>0)%3|0?-1:2)+wc|0;Qd=a+28|0;Ad=!q[Qd>>2];Rd=a+20|0;Sd=a+8|0;Td=jd+48|0;while(1){id=zd;hd=Jd;e:{if(Ad){break e}hd=wc+1|0;id=(hd>>>0)%3|0?hd:wc+ -2|0;hd=wc+ -1|0;if((wc>>>0)%3){break e}hd=wc+2|0}wc=-1;wc=(id|0)!=-1?q[q[q[a+16>>2]>>2]+(id<<2)>>2]:wc;Ad=q[Rd>>2];id=q[Ad>>2];if(q[Ad+4>>2]-id>>2>>>0<=wc>>>0){break d}id=q[q[Sd>>2]+(q[id+(wc<<2)>>2]<<2)>>2];Ad=a+4|0;wc=q[Ad>>2];if(!r[wc+84|0]){id=q[q[wc+68>>2]+(id<<2)>>2]}q[Td>>2]=0;q[Td+4>>2]=0;q[jd+40>>2]=0;q[jd+44>>2]=0;q[jd+32>>2]=0;q[jd+36>>2]=0;Kf(wc,id,o[wc+24|0],jd+32|0);wc=-1;wc=(hd|0)!=-1?q[q[q[a+16>>2]>>2]+(hd<<2)>>2]:wc;id=q[Rd>>2];hd=q[id>>2];if(q[id+4>>2]-hd>>2>>>0<=wc>>>0){break c}hd=q[q[Sd>>2]+(q[hd+(wc<<2)>>2]<<2)>>2];wc=q[Ad>>2];if(!r[wc+84|0]){hd=q[q[wc+68>>2]+(hd<<2)>>2]}id=jd+24|0;q[id>>2]=0;q[id+4>>2]=0;Ad=jd+16|0;q[Ad>>2]=0;q[Ad+4>>2]=0;q[jd+8>>2]=0;q[jd+12>>2]=0;Kf(wc,hd,o[wc+24|0],jd+8|0);hd=q[jd+8>>2];wc=q[jd+56>>2];Kd=hd-wc|0;Ld=q[jd+60>>2];Dd=q[jd+12>>2]-(Ld+(hd>>>0>>0)|0)|0;Md=q[jd+40>>2];hd=q[jd+64>>2];Ud=Md-hd|0;Nd=q[jd+68>>2];Md=q[jd+44>>2]-(Nd+(Md>>>0>>0)|0)|0;Od=$n(Kd,Dd,Ud,Md);Pd=Bd-Od|0;Ed=Ed-(V+(Bd>>>0>>0)|0)|0;Bd=q[Ad>>2];Od=Bd-hd|0;Ad=q[Ad+4>>2]-((Bd>>>0>>0)+Nd|0)|0;Bd=q[jd+32>>2];Nd=Bd-wc|0;Ld=q[jd+36>>2]-((Bd>>>0>>0)+Ld|0)|0;hd=$n(Od,Ad,Nd,Ld);Bd=hd+Pd|0;wc=V+Ed|0;wc=Bd>>>0>>0?wc+1|0:wc;Ed=wc;hd=Cd;Gd=Kd;Vd=Dd;Cd=q[jd+48>>2];wc=q[jd+72>>2];Dd=Cd-wc|0;Kd=q[jd+76>>2];Pd=q[jd+52>>2]-(Kd+(Cd>>>0>>0)|0)|0;Gd=$n(Gd,Vd,Dd,Pd);Cd=hd+Gd|0;hd=V+Hd|0;hd=Cd>>>0>>0?hd+1|0:hd;Hd=Cd;Cd=q[id>>2];Gd=Cd-wc|0;wc=q[id+4>>2]-((Cd>>>0>>0)+Kd|0)|0;id=$n(Gd,wc,Nd,Ld);Cd=Hd-id|0;Hd=hd-(V+(Hd>>>0>>0)|0)|0;hd=$n(Od,Ad,Dd,Pd);id=Fd-hd|0;Id=Id-(V+(Fd>>>0>>0)|0)|0;hd=$n(Gd,wc,Ud,Md);Fd=hd+id|0;wc=V+Id|0;wc=Fd>>>0>>0?wc+1|0:wc;Id=wc;lg(jd+80|0);Dd=q[Qd>>2];Ad=!Dd;wc=q[jd+88>>2];if((wc|0)!=-1){continue}break}wc=Hd;hd=wc>>31;a=wc>>31;wc=a+wc|0;zd=hd+Cd|0;if(zd>>>0>>0){wc=wc+1|0}hd=hd^zd;Ad=a^wc;wc=Id;a=wc>>31;wc=wc>>31;zd=a;Jd=Id+a|0;id=wc+Fd|0;if(id>>>0>>0){Jd=Jd+1|0}a=wc^id;id=zd^Jd;f:{if((Ed|0)<-1?1:(Ed|0)<=-1?Bd>>>0>4294967295?0:1:0){wc=Bd;zd=a+(hd-wc|0)|0;wc=id+(Ad-((hd>>>0>>0)+Ed|0)|0)|0;hd=zd;a=hd>>>0>>0?wc+1|0:wc;if(!Dd){break f}break b}wc=Ad+Ed|0;zd=hd;hd=Bd;zd=zd+hd|0;if(zd>>>0>>0){wc=wc+1|0}hd=a;zd=hd+zd|0;a=wc+id|0;a=zd>>>0>>0?a+1|0:a;hd=zd;if(Dd){break b}}if((hd|0)<536870913){break a}a=((a&536870911)<<3|hd>>>29)&7;wc=0;Bd=ao(Bd,Ed,a,wc);Cd=ao(Cd,Hd,a,wc);Fd=ao(Fd,Id,a,wc);break a}cn();F()}cn();F()}cn();F()}if((a|0)<0?1:(a|0)<=0?hd>>>0>=536870913?0:1:0){break a}wc=a>>>29;a=(a&536870911)<<3|hd>>>29;Bd=ao(Bd,Ed,a,wc);Cd=ao(Cd,Hd,a,wc);Fd=ao(Fd,Id,a,wc)}q[gd+8>>2]=Bd;q[gd+4>>2]=Cd;q[gd>>2]=Fd;T=jd+96|0}function lg(a){var wc=0,gd=0,Wd=0;wc=q[a+8>>2];Wd=q[a>>2];a:{if(r[a+12|0]){b:{c:{d:{e:{if((wc|0)==-1){break e}gd=wc+1|0;wc=(gd>>>0)%3|0?gd:wc+ -2|0;if((wc|0)==-1){break e}wc=q[q[Wd+12>>2]+(wc<<2)>>2];if((wc|0)!=-1){break d}}q[a+8>>2]=-1;break c}gd=wc+1|0;wc=(gd>>>0)%3|0?gd:wc+ -2|0;q[a+8>>2]=wc;if((wc|0)!=-1){break b}}gd=q[a+4>>2];wc=-1;f:{if((gd|0)==-1){break f}gd=gd+((gd>>>0)%3|0?-1:2)|0;wc=-1;if((gd|0)==-1){break f}gd=q[q[Wd+12>>2]+(gd<<2)>>2];wc=-1;if((gd|0)==-1){break f}wc=gd+ -1|0;if((gd>>>0)%3){break f}wc=gd+2|0}o[a+12|0]=0;q[a+8>>2]=wc;return}if((wc|0)!=q[a+4>>2]){break a}q[a+8>>2]=-1;return}gd=-1;g:{if((wc|0)==-1){break g}wc=wc+((wc>>>0)%3|0?-1:2)|0;gd=-1;if((wc|0)==-1){break g}wc=q[q[Wd+12>>2]+(wc<<2)>>2];gd=-1;if((wc|0)==-1){break g}gd=wc+ -1|0;if((wc>>>0)%3){break g}gd=wc+2|0}q[a+8>>2]=gd}}function mg(a,Xd,Yd,Zd,_d,$d){a=a|0;Xd=Xd|0;Yd=Yd|0;Zd=Zd|0;_d=_d|0;$d=$d|0;var ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0;q[a+8>>2]=_d;be=a+32|0;ae=q[be>>2];$d=q[a+36>>2]-ae>>2;a:{if($d>>>0<_d>>>0){Fa(be,_d-$d|0);break a}if($d>>>0<=_d>>>0){break a}q[a+36>>2]=ae+(_d<<2)}be=0;$d=(_d&1073741823)!=(_d|0)?-1:_d<<2;ke=Dn(Mm($d),0,$d);ee=a+8|0;ae=q[ee>>2];b:{if((ae|0)<1){break b}ge=a+16|0;$d=a+32|0;he=a+12|0;while(1){ae=be<<2;de=q[ae+ke>>2];ce=q[ge>>2];c:{if((de|0)>(ce|0)){fe=q[$d>>2];q[ae+fe>>2]=ce;break c}fe=q[$d>>2];ae=ae+fe|0;ce=q[he>>2];if((de|0)<(ce|0)){q[ae>>2]=ce;break c}q[ae>>2]=de}be=be+1|0;ae=q[ee>>2];if((be|0)<(ae|0)){continue}break}if((ae|0)<1){break b}be=0;ee=a+16|0;de=a+20|0;ge=a+8|0;he=a+12|0;while(1){ae=be<<2;$d=ae+Yd|0;ae=q[Xd+ae>>2]+q[ae+fe>>2]|0;q[$d>>2]=ae;d:{if((ae|0)>q[ee>>2]){ae=ae-q[de>>2]|0}else{if((ae|0)>=q[he>>2]){break d}ae=ae+q[de>>2]|0}q[$d>>2]=ae}be=be+1|0;ae=q[ge>>2];if((be|0)<(ae|0)){continue}break}}if((_d|0)<(Zd|0)){me=0-_d<<2;de=a+16|0;fe=a+32|0;ee=a+8|0;ge=a+20|0;he=a+12|0;$d=_d;while(1){e:{if((ae|0)<1){break e}je=$d<<2;le=je+Yd|0;ne=le+me|0;be=0;while(1){a=be<<2;ae=q[a+ne>>2];ie=q[de>>2];f:{if((ae|0)>(ie|0)){ce=q[fe>>2];q[a+ce>>2]=ie;break f}ce=q[fe>>2];a=a+ce|0;ie=q[he>>2];if((ae|0)<(ie|0)){q[a>>2]=ie;break f}q[a>>2]=ae}be=be+1|0;ae=q[ee>>2];if((be|0)<(ae|0)){continue}break}be=0;if((ae|0)<1){break e}je=Xd+je|0;while(1){ae=be<<2;a=ae+le|0;ae=q[ae+je>>2]+q[ae+ce>>2]|0;q[a>>2]=ae;g:{if((ae|0)>q[de>>2]){ae=ae-q[ge>>2]|0}else{if((ae|0)>=q[he>>2]){break g}ae=ae+q[ge>>2]|0}q[a>>2]=ae}be=be+1|0;ae=q[ee>>2];if((be|0)<(ae|0)){continue}break}}$d=_d+$d|0;if(($d|0)<(Zd|0)){continue}break}}An(ke);return 1}function ng(a,Xd,Yd){a=a|0;Xd=Xd|0;Yd=Yd|0;var Zd=0;a:{if(!Se(a,Xd,Yd)){break a}a=q[a+8>>2];if(r[a+24|0]!=3){break a}Zd=q[a+28>>2]==9}return Zd|0}function og(a,Xd,Yd){a=a|0;Xd=Xd|0;Yd=Yd|0;var _d=0,$d=0,oe=0,pe=0,qe=0;a:{if(r[q[a+4>>2]+36|0]<=1){_d=q[Yd+16>>2];$d=q[Yd+12>>2];oe=q[Yd+20>>2];qe=oe;pe=0;if(($d|0)<(qe|0)?1:($d|0)<=(qe|0)?t[Yd+8>>2]>_d>>>0?0:1:0){break a}$d=r[_d+q[Yd>>2]|0];_d=_d+1|0;if(_d>>>0<1){oe=oe+1|0}q[Yd+16>>2]=_d;q[Yd+20>>2]=oe;q[a+24>>2]=$d}pe=Xe(a,Xd,Yd)}return pe|0}function pg(a,Xd,Yd){a=a|0;Xd=Xd|0;Yd=Yd|0;var re=0,se=0,te=0,ue=0,ve=0;re=T-16|0;T=re;a:{b:{if(r[q[a+4>>2]+36|0]<=1){Xd=q[a+24>>2];break b}ue=q[Yd+16>>2];se=q[Yd+12>>2];te=q[Yd+20>>2];Xd=te;ve=0;if((se|0)<(Xd|0)?1:(se|0)<=(Xd|0)?t[Yd+8>>2]>ue>>>0?0:1:0){break a}Xd=r[ue+q[Yd>>2]|0];se=ue+1|0;if(se>>>0<1){te=te+1|0}q[Yd+16>>2]=se;q[Yd+20>>2]=te;q[a+24>>2]=Xd}q[re+12>>2]=-1;q[re+8>>2]=1116;q[(re+8|0)+4>>2]=Xd;ve=ld(re+8|0,q[a+16>>2])}a=ve;T=re+16|0;return a|0}function qg(a,Xd){a=a|0;Xd=Xd|0;var Yd=0,we=0,xe=0,ye=0,ze=0,Ae=x(0),Be=0,Ce=0;we=T-32|0;T=we;ye=o[q[a+8>>2]+24|0];Yd=q[a+16>>2];if(q[Yd+80>>2]){ze=q[q[Yd>>2]>>2]+q[Yd+48>>2]|0}q[we+8>>2]=-1;q[we+12>>2]=-1;q[we>>2]=-1;q[we+4>>2]=-1;a:{Yd=q[a+24>>2];if(Yd+ -2>>>0>28){break a}q[we>>2]=Yd;Yd=-1<>2]=xe;q[we+4>>2]=Yd^-1;q[we+12>>2]=(xe|0)/2;if(!Xd){xe=1;break a}ye=ye<<2;Yd=0;Ce=a+8|0;a=0;while(1){Ae=x(x(1)/x(xe|0));xe=Yd<<2;rg(x(Ae*x(q[xe+ze>>2])),x(Ae*x(q[(xe|4)+ze>>2])),we+20|0);Cn(q[q[q[Ce>>2]- -64>>2]>>2]+a|0,we+20|0,ye);xe=1;Be=Be+1|0;if((Be|0)==(Xd|0)){break a}Yd=Yd+2|0;a=a+ye|0;xe=q[we+8>>2];continue}}T=we+32|0;return xe|0}function rg(a,Xd,De){var Ee=0,Fe=0,Ge=x(0),He=x(0),Ie=x(0),Je=0,Ke=0;Ge=x(a+Xd);a:{b:{Ie=x(a-Xd);if(Ie<=x(.5)^1|Ie>=x(-.5)^1|Ge>=x(.5)^1){break b}Fe=1;if(!(Ge<=x(1.5))){break b}He=Xd;break a}c:{if(!!(Ge<=x(.5))){He=x(x(.5)-a);a=x(x(.5)-Xd);break c}if(!!(Ge>=x(1.5))){He=x(x(1.5)-a);a=x(x(1.5)-Xd);break c}if(!!(Ie<=x(-.5))){He=x(a+x(.5));a=x(Xd+x(-.5));break c}He=x(a+x(-.5));a=x(Xd+x(.5))}Ie=x(a-He);Ge=x(He+a);Fe=-1}Ee=+He;Xd=x(Ee+Ee+ -1);Ee=+a;a=x(Ee+Ee+ -1);Ke=Fe;Fe=+Ie;Fe=Fe+Fe;Ee=1-Fe;Fe=Fe+1;Fe=Ee>2]=0;Ge=x(0);a=x(0);break d}Ie=x(x(1)/x(E(Ge)));u[De>>2]=Ie*He;Ge=x(Ie*Xd);a=x(Ie*a)}u[De+8>>2]=Ge;u[De+4>>2]=a}function sg(a,Xd,De,Le){a=a|0;Xd=Xd|0;De=De|0;Le=Le|0;var Me=0,Ne=0,Oe=0;Me=T-32|0;T=Me;Le=Le+ -2|0;a:{if(Le>>>0<=1){if(Le-1){Le=q[Xd+4>>2];Xd=q[Xd+12>>2];q[Me+24>>2]=-1;q[Me+28>>2]=-1;q[Me+16>>2]=-1;q[Me+20>>2]=-1;if((De|0)==-2){q[Me+8>>2]=0;q[a>>2]=0;break a}Ne=q[q[q[Le+4>>2]+8>>2]+(Xd<<2)>>2];if((n[q[q[Le>>2]+8>>2]](Le)|0)==1){Oe=Xd;Xd=s[Le+36>>1];tg(Me+8|0,Le,De,Oe,Me+16|0,(Xd<<24|Xd<<8&16711680)>>>16);Xd=q[Me+8>>2];if(Xd){q[a>>2]=Xd;break a}q[Me+8>>2]=0}Xd=Mm(24);q[Xd+4>>2]=Ne;De=q[Me+20>>2];q[Xd+8>>2]=q[Me+16>>2];q[Xd+12>>2]=De;De=q[Me+28>>2];q[Xd+16>>2]=q[Me+24>>2];q[Xd+20>>2]=De;q[Xd>>2]=8576;q[Me+8>>2]=Xd;q[a>>2]=Xd;break a}Le=q[Xd+4>>2];Xd=q[Xd+12>>2];q[Me+24>>2]=-1;q[Me+28>>2]=-1;q[Me+16>>2]=-1;q[Me+20>>2]=-1;if((De|0)==-2){q[Me+8>>2]=0;q[a>>2]=0;break a}Ne=q[q[q[Le+4>>2]+8>>2]+(Xd<<2)>>2];if((n[q[q[Le>>2]+8>>2]](Le)|0)==1){Oe=Xd;Xd=s[Le+36>>1];ug(Me+8|0,Le,De,Oe,Me+16|0,(Xd<<24|Xd<<8&16711680)>>>16);Xd=q[Me+8>>2];if(Xd){q[a>>2]=Xd;break a}q[Me+8>>2]=0}Xd=Mm(24);q[Xd+4>>2]=Ne;De=q[Me+20>>2];q[Xd+8>>2]=q[Me+16>>2];q[Xd+12>>2]=De;De=q[Me+28>>2];q[Xd+16>>2]=q[Me+24>>2];q[Xd+20>>2]=De;q[Xd>>2]=10580;q[Me+8>>2]=Xd;q[a>>2]=Xd;break a}q[a>>2]=0}T=Me+32|0}function tg(a,Xd,De,Le,Pe,Qe){var Re=0,Se=0,Te=0,Ue=0;Ue=q[q[q[Xd+4>>2]+8>>2]+(Le<<2)>>2];a:{b:{if((n[q[q[Xd>>2]+8>>2]](Xd)|0)!=1|De+ -1>>>0>5){break b}Se=n[q[q[Xd>>2]+36>>2]](Xd)|0;Qe=n[q[q[Xd>>2]+44>>2]](Xd,Le)|0;if(!Se|!Qe){break b}Te=n[q[q[Xd>>2]+40>>2]](Xd,Le)|0;Le=Qe+12|0;Re=q[Xd+44>>2];c:{if(Te){if((De|0)!=6){break c}Xd=Mm(104);q[Xd+4>>2]=Ue;De=q[Pe+4>>2];q[Xd+8>>2]=q[Pe>>2];q[Xd+12>>2]=De;De=q[Pe+12>>2];q[Xd+16>>2]=q[Pe+8>>2];q[Xd+20>>2]=De;q[Xd+36>>2]=Qe;q[Xd+32>>2]=Le;q[Xd+28>>2]=Te;q[Xd+24>>2]=Re;q[Xd+64>>2]=Qe;q[Xd+60>>2]=Le;q[Xd+56>>2]=Te;q[Xd+52>>2]=Re;q[Xd+44>>2]=0;q[Xd+48>>2]=0;q[Xd>>2]=6860;q[Xd+72>>2]=-1;q[Xd+76>>2]=-1;q[Xd+68>>2]=1;q[Xd+40>>2]=7384;break a}if((De|0)!=6){break c}Xd=Mm(104);q[Xd+4>>2]=Ue;De=q[Pe+4>>2];q[Xd+8>>2]=q[Pe>>2];q[Xd+12>>2]=De;De=q[Pe+12>>2];q[Xd+16>>2]=q[Pe+8>>2];q[Xd+20>>2]=De;q[Xd+36>>2]=Qe;q[Xd+32>>2]=Le;q[Xd+28>>2]=Se;q[Xd+24>>2]=Re;q[Xd+64>>2]=Qe;q[Xd+60>>2]=Le;q[Xd+56>>2]=Se;q[Xd+52>>2]=Re;q[Xd+44>>2]=0;q[Xd+48>>2]=0;q[Xd>>2]=7796;q[Xd+72>>2]=-1;q[Xd+76>>2]=-1;q[Xd+68>>2]=1;q[Xd+40>>2]=8188;break a}q[a>>2]=0}q[a>>2]=0;return}q[Xd+80>>2]=-1;q[Xd+84>>2]=-1;ah(Xd+88|0);q[a>>2]=Xd}function ug(a,Xd,De,Le,Pe,Qe){var Ve=0,We=0,Xe=0,Ye=0;Ye=q[q[q[Xd+4>>2]+8>>2]+(Le<<2)>>2];a:{b:{if((n[q[q[Xd>>2]+8>>2]](Xd)|0)!=1|De+ -1>>>0>5){break b}We=n[q[q[Xd>>2]+36>>2]](Xd)|0;Qe=n[q[q[Xd>>2]+44>>2]](Xd,Le)|0;if(!We|!Qe){break b}Xe=n[q[q[Xd>>2]+40>>2]](Xd,Le)|0;Le=Qe+12|0;Ve=q[Xd+44>>2];c:{if(Xe){if((De|0)!=6){break c}Xd=Mm(104);q[Xd+4>>2]=Ye;De=q[Pe+4>>2];q[Xd+8>>2]=q[Pe>>2];q[Xd+12>>2]=De;De=q[Pe+12>>2];q[Xd+16>>2]=q[Pe+8>>2];q[Xd+20>>2]=De;q[Xd+36>>2]=Qe;q[Xd+32>>2]=Le;q[Xd+28>>2]=Xe;q[Xd+24>>2]=Ve;q[Xd+64>>2]=Qe;q[Xd+60>>2]=Le;q[Xd+56>>2]=Xe;q[Xd+52>>2]=Ve;q[Xd+44>>2]=0;q[Xd+48>>2]=0;q[Xd>>2]=8744;q[Xd+72>>2]=-1;q[Xd+76>>2]=-1;q[Xd+68>>2]=1;q[Xd+40>>2]=9308;break a}if((De|0)!=6){break c}Xd=Mm(104);q[Xd+4>>2]=Ye;De=q[Pe+4>>2];q[Xd+8>>2]=q[Pe>>2];q[Xd+12>>2]=De;De=q[Pe+12>>2];q[Xd+16>>2]=q[Pe+8>>2];q[Xd+20>>2]=De;q[Xd+36>>2]=Qe;q[Xd+32>>2]=Le;q[Xd+28>>2]=We;q[Xd+24>>2]=Ve;q[Xd+64>>2]=Qe;q[Xd+60>>2]=Le;q[Xd+56>>2]=We;q[Xd+52>>2]=Ve;q[Xd+44>>2]=0;q[Xd+48>>2]=0;q[Xd>>2]=9748;q[Xd+72>>2]=-1;q[Xd+76>>2]=-1;q[Xd+68>>2]=1;q[Xd+40>>2]=10168;break a}q[a>>2]=0}q[a>>2]=0;return}q[Xd+80>>2]=-1;q[Xd+84>>2]=-1;ah(Xd+88|0);q[a>>2]=Xd}function vg(a){a=a|0;q[a>>2]=6860;return a|0}function wg(a){a=a|0;q[a>>2]=6860;An(a)}function xg(a){a=a|0;var Xd=0;a:{if(!q[a+44>>2]|!q[a+48>>2]|(!q[a+24>>2]|!q[a+28>>2])){break a}if(!q[a+32>>2]|!q[a+36>>2]){break a}Xd=q[a+72>>2]!=-1}return Xd|0}function yg(a,De){a=a|0;De=De|0;var Le=0;if(!(q[De+56>>2]|r[De+24|0]!=3)){q[a+44>>2]=De;Le=1}return Le|0}function zg(a,De){a=a|0;De=De|0;var Pe=0,Qe=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0;$e=q[De+12>>2];Pe=$e;Qe=q[De+20>>2];Ze=Qe;af=q[De+16>>2];_e=af+4|0;if(_e>>>0<4){Qe=Qe+1|0}bf=q[De+8>>2];a:{if((Pe|0)<(Qe|0)?1:(Pe|0)<=(Qe|0)?bf>>>0>=_e>>>0?0:1:0){break a}cf=q[De>>2];Pe=af+cf|0;df=r[Pe|0]|r[Pe+1|0]<<8|(r[Pe+2|0]<<16|r[Pe+3|0]<<24);q[De+16>>2]=_e;q[De+20>>2]=Qe;ef=s[De+38>>1];if(ef>>>0<=513){Pe=$e;Qe=Ze;Ze=af+8|0;if(Ze>>>0<8){Qe=Qe+1|0}_e=Ze;if((Pe|0)<(Qe|0)?1:(Pe|0)<=(Qe|0)?bf>>>0>=_e>>>0?0:1:0){break a}q[De+16>>2]=_e;q[De+20>>2]=Qe}if(!(df&1)){break a}Pe=z(df)^31;if(Pe+ -1>>>0>28){break a}q[a+8>>2]=Pe+1;Pe=-2<>2]=Ze;q[a+12>>2]=Pe^-1;q[a+20>>2]=(Ze|0)/2;if(ef>>>0<=513){if(($e|0)<(Qe|0)?1:($e|0)<=(Qe|0)?bf>>>0>_e>>>0?0:1:0){break a}Pe=r[_e+cf|0];Ze=_e+1|0;if(Ze>>>0<1){Qe=Qe+1|0}q[De+16>>2]=Ze;q[De+20>>2]=Qe;if(Pe>>>0>1){break a}q[a+68>>2]=Pe-1|0?0:1}ff=bh(a+88|0,De)}return ff|0}function Ag(a,De,gf,hf,jf,kf){a=a|0;De=De|0;gf=gf|0;hf=hf|0;jf=jf|0;kf=kf|0;var lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0;lf=T-48|0;T=lf;rf=a+8|0;hf=q[rf>>2];if(hf+ -2>>>0<=28){q[a+72>>2]=hf;hf=-1<>2]=jf;q[a+76>>2]=hf^-1;q[a+84>>2]=(jf|0)/2}q[a+48>>2]=kf;hf=q[a+36>>2];jf=q[hf>>2];kf=hf+4|0;mf=q[kf>>2];q[lf+16>>2]=0;q[lf+8>>2]=0;q[lf+12>>2]=0;a:{jf=mf-jf|0;if((jf|0)<1){break a}hf=q[hf>>2];if((hf|0)!=q[kf>>2]){sf=jf>>2;tf=a+40|0;uf=a+88|0;vf=a+36|0;while(1){Sf(tf,q[(pf<<2)+hf>>2],lf+8|0);jf=q[lf+12>>2];mf=jf>>31;kf=q[lf+8>>2];of=kf>>31;qf=q[lf+16>>2];nf=qf>>31;hf=0;nf=nf^nf+qf;mf=nf+((mf^jf+mf)+(of^kf+of)|0)|0;if(mf>>>0>>0){hf=1}b:{if(!(hf|mf)){q[lf+8>>2]=q[a+84>>2];break b}of=q[a+84>>2];nf=of;nf=nf>>31;jf=ao($n(of,nf,jf,jf>>31),V,mf,hf);q[lf+12>>2]=jf;hf=ao($n(of,nf,kf,kf>>31),V,mf,hf);q[lf+8>>2]=hf;kf=hf;hf=hf>>31;hf=(of-(kf+hf^hf)|0)+((jf|0)<0?jf:0-jf|0)|0;if((qf|0)>=0){q[lf+16>>2]=hf;break b}q[lf+16>>2]=0-hf}hf=dh(uf);kf=q[lf+8>>2];c:{if(!hf){jf=q[lf+12>>2];break c}q[lf+16>>2]=0-q[lf+16>>2];jf=0-q[lf+12>>2]|0;q[lf+12>>2]=jf;kf=0-kf|0;q[lf+8>>2]=kf}d:{if((kf|0)>=0){kf=q[a+84>>2];hf=kf+q[lf+16>>2]|0;kf=jf+kf|0;break d}e:{if((jf|0)<=-1){hf=q[lf+16>>2];kf=hf>>31;kf=kf^hf+kf;break e}hf=q[lf+16>>2];kf=hf>>31;kf=q[a+80>>2]-(kf^hf+kf)|0}if((hf|0)<=-1){hf=jf>>31;hf=hf+jf^hf;break d}hf=jf>>31;hf=q[a+80>>2]-(hf+jf^hf)|0}jf=q[a+80>>2];f:{if(!(hf|kf)){hf=jf;kf=hf;break f}if(!((hf|0)!=(jf|0)|kf)){kf=hf;break f}if(!((jf|0)!=(kf|0)|hf)){hf=kf;break f}g:{if(kf){break g}mf=q[a+84>>2];if((mf|0)>=(hf|0)){break g}hf=(mf<<1)-hf|0;kf=0;break f}h:{if((jf|0)!=(kf|0)){break h}mf=q[a+84>>2];if((mf|0)<=(hf|0)){break h}hf=(mf<<1)-hf|0;break f}i:{if((hf|0)!=(jf|0)){break i}jf=q[a+84>>2];if((jf|0)<=(kf|0)){break i}kf=(jf<<1)-kf|0;break f}if(hf){break f}hf=0;jf=q[a+84>>2];if((jf|0)>=(kf|0)){break f}kf=(jf<<1)-kf|0}jf=pf<<3;mf=jf+De|0;of=q[mf+4>>2];q[lf+40>>2]=q[mf>>2];q[lf+44>>2]=of;q[lf+28>>2]=hf;q[lf+24>>2]=kf;Bg(lf+32|0,rf,lf+24|0,lf+40|0);hf=gf+jf|0;q[hf>>2]=q[lf+32>>2];q[hf+4>>2]=q[lf+36>>2];pf=pf+1|0;if((pf|0)>=(sf|0)){break a}jf=q[vf>>2];hf=q[jf>>2];if(q[jf+4>>2]-hf>>2>>>0>pf>>>0){continue}break}}cn();F()}T=lf+48|0;return 1}function Bg(a,De,gf,hf){var jf=0,kf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0;xf=De+12|0;Af=q[xf>>2];kf=q[gf+4>>2]-Af|0;jf=q[gf>>2]-Af|0;q[gf>>2]=jf;q[gf+4>>2]=kf;wf=kf>>31;yf=wf+kf^wf;wf=jf>>31;xf=q[xf>>2];Bf=(yf+(wf+jf^wf)|0)<=(xf|0);if(!Bf){a:{b:{if((jf|0)>=0){zf=1;yf=1;if((kf|0)>-1){break a}wf=1;zf=-1;yf=-1;if((jf|0)>=1){break b}break a}wf=-1;zf=-1;yf=-1;if((kf|0)<1){break a}}zf=(kf|0)<1?-1:1;yf=wf}wf=kf<<1;kf=w(xf,zf);wf=wf-kf|0;q[gf+4>>2]=wf;xf=w(xf,yf);jf=(jf<<1)-xf|0;q[gf>>2]=jf;c:{if((w(yf,zf)|0)>=0){wf=0-wf|0;q[gf>>2]=wf;jf=0-jf|0;break c}q[gf>>2]=wf}kf=(jf+kf|0)/2|0;q[gf+4>>2]=kf;jf=(xf+wf|0)/2|0;q[gf>>2]=jf;xf=q[De+12>>2]}jf=q[hf>>2]+jf|0;q[a>>2]=jf;gf=q[hf+4>>2]+kf|0;q[a+4>>2]=gf;d:{if((xf|0)<(jf|0)){jf=jf-q[De+4>>2]|0;break d}if((jf|0)>=(0-xf|0)){break d}jf=q[De+4>>2]+jf|0}q[a>>2]=jf;e:{if((xf|0)<(gf|0)){gf=gf-q[De+4>>2]|0;break e}if((gf|0)>=(0-xf|0)){break e}gf=q[De+4>>2]+gf|0}q[a+4>>2]=gf;if(!Bf){f:{g:{if((jf|0)>=0){De=1;hf=1;if((gf|0)>-1){break f}kf=1;De=-1;hf=-1;if((jf|0)>=1){break g}break f}kf=-1;De=-1;hf=-1;if((gf|0)<1){break f}}De=(gf|0)<1?-1:1;hf=kf}wf=w(De,xf);kf=(gf<<1)-wf|0;q[a+4>>2]=kf;yf=w(hf,xf);gf=(jf<<1)-yf|0;q[a>>2]=gf;h:{if((w(De,hf)|0)>=0){kf=0-kf|0;q[a>>2]=kf;gf=0-gf|0;break h}q[a>>2]=kf}gf=(gf+wf|0)/2|0;q[a+4>>2]=gf;jf=(kf+yf|0)/2|0;q[a>>2]=jf}q[a>>2]=jf+Af;q[a+4>>2]=gf+Af}function Cg(a,De){a=a|0;De=De|0;var gf=0,hf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0;gf=q[De+12>>2];Ff=gf;Cf=gf;gf=q[De+20>>2];Df=gf;Ef=q[De+16>>2];hf=Ef+4|0;if(hf>>>0<4){gf=gf+1|0}Gf=q[De+8>>2];Hf=hf;hf=gf;a:{if((Cf|0)<(gf|0)?1:(Cf|0)<=(gf|0)?Gf>>>0>=Hf>>>0?0:1:0){break a}gf=Ef+q[De>>2]|0;Cf=r[gf|0]|r[gf+1|0]<<8|(r[gf+2|0]<<16|r[gf+3|0]<<24);q[De+16>>2]=Hf;q[De+20>>2]=hf;if(s[De+38>>1]<=513){gf=Df;hf=Ef+8|0;if(hf>>>0<8){gf=gf+1|0}Df=hf;hf=gf;if((Ff|0)<(gf|0)?1:(Ff|0)<=(gf|0)?Gf>>>0>=Df>>>0?0:1:0){break a}q[De+16>>2]=Df;q[De+20>>2]=hf}if(!(Cf&1)){break a}De=z(Cf)^31;if(De+ -1>>>0>28){break a}If=1;q[a+8>>2]=De+1;gf=-2<>2]=De;q[a+12>>2]=gf^-1;q[a+20>>2]=(De|0)/2}return If|0}function Dg(a){a=a|0;q[a>>2]=7796;return a|0}function Eg(a){a=a|0;q[a>>2]=7796;An(a)}function Fg(a,De,Jf,Kf,Lf,Mf){a=a|0;De=De|0;Jf=Jf|0;Kf=Kf|0;Lf=Lf|0;Mf=Mf|0;var Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0;Nf=T-48|0;T=Nf;Tf=a+8|0;Kf=q[Tf>>2];if(Kf+ -2>>>0<=28){q[a+72>>2]=Kf;Kf=-1<>2]=Lf;q[a+76>>2]=Kf^-1;q[a+84>>2]=(Lf|0)/2}q[a+48>>2]=Mf;Kf=q[a+36>>2];Lf=q[Kf>>2];Mf=Kf+4|0;Of=q[Mf>>2];q[Nf+16>>2]=0;q[Nf+8>>2]=0;q[Nf+12>>2]=0;a:{Lf=Of-Lf|0;if((Lf|0)<1){break a}Kf=q[Kf>>2];if((Kf|0)!=q[Mf>>2]){Uf=Lf>>2;Vf=a+40|0;Wf=a+88|0;Xf=a+36|0;while(1){kg(Vf,q[(Rf<<2)+Kf>>2],Nf+8|0);Lf=q[Nf+12>>2];Of=Lf>>31;Mf=q[Nf+8>>2];Qf=Mf>>31;Sf=q[Nf+16>>2];Pf=Sf>>31;Kf=0;Pf=Pf^Pf+Sf;Of=Pf+((Of^Lf+Of)+(Qf^Mf+Qf)|0)|0;if(Of>>>0>>0){Kf=1}b:{if(!(Kf|Of)){q[Nf+8>>2]=q[a+84>>2];break b}Qf=q[a+84>>2];Pf=Qf;Pf=Pf>>31;Lf=ao($n(Qf,Pf,Lf,Lf>>31),V,Of,Kf);q[Nf+12>>2]=Lf;Kf=ao($n(Qf,Pf,Mf,Mf>>31),V,Of,Kf);q[Nf+8>>2]=Kf;Mf=Kf;Kf=Kf>>31;Kf=(Qf-(Mf+Kf^Kf)|0)+((Lf|0)<0?Lf:0-Lf|0)|0;if((Sf|0)>=0){q[Nf+16>>2]=Kf;break b}q[Nf+16>>2]=0-Kf}Kf=dh(Wf);Mf=q[Nf+8>>2];c:{if(!Kf){Lf=q[Nf+12>>2];break c}q[Nf+16>>2]=0-q[Nf+16>>2];Lf=0-q[Nf+12>>2]|0;q[Nf+12>>2]=Lf;Mf=0-Mf|0;q[Nf+8>>2]=Mf}d:{if((Mf|0)>=0){Mf=q[a+84>>2];Kf=Mf+q[Nf+16>>2]|0;Mf=Lf+Mf|0;break d}e:{if((Lf|0)<=-1){Kf=q[Nf+16>>2];Mf=Kf>>31;Mf=Mf^Kf+Mf;break e}Kf=q[Nf+16>>2];Mf=Kf>>31;Mf=q[a+80>>2]-(Mf^Kf+Mf)|0}if((Kf|0)<=-1){Kf=Lf>>31;Kf=Kf+Lf^Kf;break d}Kf=Lf>>31;Kf=q[a+80>>2]-(Kf+Lf^Kf)|0}Lf=q[a+80>>2];f:{if(!(Kf|Mf)){Kf=Lf;Mf=Kf;break f}if(!((Kf|0)!=(Lf|0)|Mf)){Mf=Kf;break f}if(!((Lf|0)!=(Mf|0)|Kf)){Kf=Mf;break f}g:{if(Mf){break g}Of=q[a+84>>2];if((Of|0)>=(Kf|0)){break g}Kf=(Of<<1)-Kf|0;Mf=0;break f}h:{if((Lf|0)!=(Mf|0)){break h}Of=q[a+84>>2];if((Of|0)<=(Kf|0)){break h}Kf=(Of<<1)-Kf|0;break f}i:{if((Kf|0)!=(Lf|0)){break i}Lf=q[a+84>>2];if((Lf|0)<=(Mf|0)){break i}Mf=(Lf<<1)-Mf|0;break f}if(Kf){break f}Kf=0;Lf=q[a+84>>2];if((Lf|0)>=(Mf|0)){break f}Mf=(Lf<<1)-Mf|0}Lf=Rf<<3;Of=Lf+De|0;Qf=q[Of+4>>2];q[Nf+40>>2]=q[Of>>2];q[Nf+44>>2]=Qf;q[Nf+28>>2]=Kf;q[Nf+24>>2]=Mf;Bg(Nf+32|0,Tf,Nf+24|0,Nf+40|0);Kf=Jf+Lf|0;q[Kf>>2]=q[Nf+32>>2];q[Kf+4>>2]=q[Nf+36>>2];Rf=Rf+1|0;if((Rf|0)>=(Uf|0)){break a}Lf=q[Xf>>2];Kf=q[Lf>>2];if(q[Lf+4>>2]-Kf>>2>>>0>Rf>>>0){continue}break}}cn();F()}T=Nf+48|0;return 1}function Gg(a,De,Jf,Kf,Lf,Mf){a=a|0;De=De|0;Jf=Jf|0;Kf=Kf|0;Lf=Lf|0;Mf=Mf|0;var Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0;Mf=T-32|0;T=Mf;Yf=(Lf&1073741823)!=(Lf|0)?-1:Lf<<2;bg=Dn(Mm(Yf),0,Yf);Yf=bg;_f=q[Yf>>2];Yf=q[Yf+4>>2];ag=q[De+4>>2];q[Mf+24>>2]=q[De>>2];q[Mf+28>>2]=ag;q[Mf+8>>2]=_f;q[Mf+12>>2]=Yf;_f=a+8|0;Bg(Mf+16|0,_f,Mf+8|0,Mf+24|0);q[Jf>>2]=q[Mf+16>>2];q[Jf+4>>2]=q[Mf+20>>2];if((Lf|0)<(Kf|0)){ag=0-Lf<<2;a=Lf;while(1){Zf=a<<2;Yf=Zf+Jf|0;$f=Yf+ag|0;cg=q[$f>>2];$f=q[$f+4>>2];Zf=De+Zf|0;dg=q[Zf+4>>2];q[Mf+24>>2]=q[Zf>>2];q[Mf+28>>2]=dg;q[Mf+8>>2]=cg;q[Mf+12>>2]=$f;Bg(Mf+16|0,_f,Mf+8|0,Mf+24|0);q[Yf>>2]=q[Mf+16>>2];q[Yf+4>>2]=q[Mf+20>>2];a=a+Lf|0;if((a|0)<(Kf|0)){continue}break}}An(bg);T=Mf+32|0;return 1}function Hg(a){a=a|0;q[a>>2]=8744;return a|0}function Ig(a){a=a|0;q[a>>2]=8744;An(a)}function Jg(a,De){a=a|0;De=De|0;var Jf=0,Kf=0,Lf=0,Mf=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0;Mf=q[De+12>>2];eg=Mf;Jf=q[De+20>>2];fg=Jf;gg=q[De+16>>2];Kf=gg+4|0;if(Kf>>>0<4){Jf=Jf+1|0}hg=q[De+8>>2];Lf=Kf;Kf=Jf;a:{if((eg|0)<(Jf|0)?1:(eg|0)<=(Jf|0)?hg>>>0>=Lf>>>0?0:1:0){break a}eg=q[De>>2];Jf=gg+eg|0;jg=r[Jf|0]|r[Jf+1|0]<<8|(r[Jf+2|0]<<16|r[Jf+3|0]<<24);q[De+16>>2]=Lf;q[De+20>>2]=Kf;Kf=Mf;Jf=fg;Lf=gg+8|0;if(Lf>>>0<8){Jf=Jf+1|0}ig=Lf;if((Kf|0)<(Jf|0)?1:(Kf|0)<=(Jf|0)?hg>>>0>=Lf>>>0?0:1:0){break a}q[De+16>>2]=ig;q[De+20>>2]=Jf;if(!(jg&1)){break a}Kf=z(jg)^31;if(Kf+ -1>>>0>28){break a}q[a+8>>2]=Kf+1;Lf=-2<>2]=Kf;q[a+12>>2]=Lf^-1;q[a+20>>2]=(Kf|0)/2;if(s[De+38>>1]<=513){if((Mf|0)<(Jf|0)?1:(Mf|0)<=(Jf|0)?hg>>>0>ig>>>0?0:1:0){break a}Mf=r[eg+ig|0];Kf=gg+9|0;if(Kf>>>0<9){fg=fg+1|0}Jf=De;q[Jf+16>>2]=Kf;q[Jf+20>>2]=fg;if(Mf>>>0>1){break a}q[a+68>>2]=Mf-1|0?0:1}kg=bh(a+88|0,De)}return kg|0}function Kg(a,De,lg,mg,ng,og){a=a|0;De=De|0;lg=lg|0;mg=mg|0;ng=ng|0;og=og|0;var pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0;pg=T-48|0;T=pg;vg=a+8|0;mg=q[vg>>2];if(mg+ -2>>>0<=28){q[a+72>>2]=mg;mg=-1<>2]=ng;q[a+76>>2]=mg^-1;q[a+84>>2]=(ng|0)/2}q[a+48>>2]=og;mg=q[a+36>>2];ng=q[mg>>2];og=mg+4|0;qg=q[og>>2];q[pg+16>>2]=0;q[pg+8>>2]=0;q[pg+12>>2]=0;a:{ng=qg-ng|0;if((ng|0)<1){break a}mg=q[mg>>2];if((mg|0)!=q[og>>2]){wg=ng>>2;xg=a+40|0;yg=a+88|0;zg=a+36|0;while(1){Sf(xg,q[(tg<<2)+mg>>2],pg+8|0);ng=q[pg+12>>2];qg=ng>>31;og=q[pg+8>>2];sg=og>>31;ug=q[pg+16>>2];rg=ug>>31;mg=0;rg=rg^rg+ug;qg=rg+((qg^ng+qg)+(sg^og+sg)|0)|0;if(qg>>>0>>0){mg=1}b:{if(!(mg|qg)){q[pg+8>>2]=q[a+84>>2];break b}sg=q[a+84>>2];rg=sg;rg=rg>>31;ng=ao($n(sg,rg,ng,ng>>31),V,qg,mg);q[pg+12>>2]=ng;mg=ao($n(sg,rg,og,og>>31),V,qg,mg);q[pg+8>>2]=mg;og=mg;mg=mg>>31;mg=(sg-(og+mg^mg)|0)+((ng|0)<0?ng:0-ng|0)|0;if((ug|0)>=0){q[pg+16>>2]=mg;break b}q[pg+16>>2]=0-mg}mg=dh(yg);og=q[pg+8>>2];c:{if(!mg){ng=q[pg+12>>2];break c}q[pg+16>>2]=0-q[pg+16>>2];ng=0-q[pg+12>>2]|0;q[pg+12>>2]=ng;og=0-og|0;q[pg+8>>2]=og}d:{if((og|0)>=0){og=q[a+84>>2];mg=og+q[pg+16>>2]|0;og=ng+og|0;break d}e:{if((ng|0)<=-1){mg=q[pg+16>>2];og=mg>>31;og=og^mg+og;break e}mg=q[pg+16>>2];og=mg>>31;og=q[a+80>>2]-(og^mg+og)|0}if((mg|0)<=-1){mg=ng>>31;mg=mg+ng^mg;break d}mg=ng>>31;mg=q[a+80>>2]-(mg+ng^mg)|0}ng=q[a+80>>2];f:{if(!(mg|og)){mg=ng;og=mg;break f}if(!((mg|0)!=(ng|0)|og)){og=mg;break f}if(!((ng|0)!=(og|0)|mg)){mg=og;break f}g:{if(og){break g}qg=q[a+84>>2];if((qg|0)>=(mg|0)){break g}mg=(qg<<1)-mg|0;og=0;break f}h:{if((ng|0)!=(og|0)){break h}qg=q[a+84>>2];if((qg|0)<=(mg|0)){break h}mg=(qg<<1)-mg|0;break f}i:{if((mg|0)!=(ng|0)){break i}ng=q[a+84>>2];if((ng|0)<=(og|0)){break i}og=(ng<<1)-og|0;break f}if(mg){break f}mg=0;ng=q[a+84>>2];if((ng|0)>=(og|0)){break f}og=(ng<<1)-og|0}ng=tg<<3;qg=ng+De|0;sg=q[qg+4>>2];qg=q[qg>>2];q[pg+36>>2]=mg;q[pg+32>>2]=og;q[pg+24>>2]=qg;q[pg+28>>2]=sg;Lg(pg+40|0,vg,pg+32|0,pg+24|0);mg=lg+ng|0;q[mg>>2]=q[pg+40>>2];q[mg+4>>2]=q[pg+44>>2];tg=tg+1|0;if((tg|0)>=(wg|0)){break a}ng=q[zg>>2];mg=q[ng>>2];if(q[ng+4>>2]-mg>>2>>>0>tg>>>0){continue}break}}cn();F()}T=pg+48|0;return 1}function Lg(a,De,lg,mg){var ng=0,og=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0;Bg=De+12|0;Eg=q[Bg>>2];og=q[lg+4>>2]-Eg|0;ng=q[lg>>2]-Eg|0;q[lg>>2]=ng;q[lg+4>>2]=og;Ag=og>>31;Cg=Ag+og^Ag;Ag=ng>>31;Bg=q[Bg>>2];Fg=(Cg+(Ag+ng^Ag)|0)<=(Bg|0);if(!Fg){a:{b:{if((ng|0)>=0){Ag=1;Dg=1;if((og|0)>-1){break a}Cg=1;Ag=-1;Dg=-1;if((ng|0)>=1){break b}break a}Cg=-1;Ag=-1;Dg=-1;if((og|0)<1){break a}}Ag=(og|0)<1?-1:1;Dg=Cg}Cg=og<<1;og=w(Ag,Bg);Cg=Cg-og|0;q[lg+4>>2]=Cg;Bg=w(Bg,Dg);ng=(ng<<1)-Bg|0;q[lg>>2]=ng;c:{if((w(Ag,Dg)|0)>=0){Cg=0-Cg|0;q[lg>>2]=Cg;ng=0-ng|0;break c}q[lg>>2]=Cg}og=(ng+og|0)/2|0;q[lg+4>>2]=og;ng=(Bg+Cg|0)/2|0;q[lg>>2]=ng}d:{e:{f:{g:{h:{i:{j:{k:{if(!ng){if(og){break j}Bg=1;Dg=0;break k}Bg=1;Ag=(ng|0)<0&(og|0)<1;if((ng|0)>=1){Dg=(og|0)>-1?2:1;if(Ag){break k}break i}Dg=(og|0)>0?3:0;if(!Ag){break i}}Ag=og;Cg=ng;break d}if((og|0)>=1){break f}break h}Ag=Dg+ -1|0;if(Ag>>>0>2){Ag=og;og=ng;Dg=0;break e}switch(Ag-1|0){case 0:break g;case 1:break f;default:break h}}Ag=0-ng|0;Dg=1;break e}Ag=0-og|0;og=0-ng|0;Dg=2;break e}Ag=ng;og=0-og|0;Dg=3}ng=lg;Cg=og;q[ng>>2]=og;q[ng+4>>2]=Ag;Bg=0}og=q[mg>>2]+Cg|0;q[a>>2]=og;ng=q[mg+4>>2]+Ag|0;q[a+4>>2]=ng;Ag=q[De+12>>2];l:{if((Ag|0)<(og|0)){og=og-q[De+4>>2]|0;break l}if((og|0)>=(0-Ag|0)){break l}og=q[De+4>>2]+og|0}q[a>>2]=og;m:{if((Ag|0)<(ng|0)){ng=ng-q[De+4>>2]|0;break m}if((ng|0)>=(0-Ag|0)){break m}ng=q[De+4>>2]+ng|0}q[a+4>>2]=ng;n:{if(Bg){lg=ng;ng=og;break n}De=(4-Dg&3)+ -1|0;o:{if(De>>>0>2){lg=ng;ng=og;break o}p:{switch(De-1|0){default:lg=0-og|0;break o;case 0:lg=0-ng|0;ng=0-og|0;break o;case 1:break p}}ng=0-ng|0;lg=og}q[a>>2]=ng;q[a+4>>2]=lg}if(!Fg){q:{r:{if((ng|0)>=0){De=1;Bg=1;if((lg|0)>-1){break q}og=1;De=-1;Bg=-1;if((ng|0)>=1){break r}break q}og=-1;De=-1;Bg=-1;if((lg|0)<1){break q}}De=(lg|0)<1?-1:1;Bg=og}mg=lg<<1;lg=w(De,Ag);og=mg-lg|0;q[a+4>>2]=og;mg=w(Ag,Bg);ng=(ng<<1)-mg|0;q[a>>2]=ng;s:{if((w(De,Bg)|0)>=0){og=0-og|0;q[a>>2]=og;ng=0-ng|0;break s}q[a>>2]=og}lg=(lg+ng|0)/2|0;q[a+4>>2]=lg;ng=(mg+og|0)/2|0;q[a>>2]=ng}q[a>>2]=ng+Eg;q[a+4>>2]=lg+Eg}function Mg(a,De){a=a|0;De=De|0;var lg=0,mg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0;lg=q[De+12>>2];Jg=lg;Gg=lg;lg=q[De+20>>2];Hg=lg;Ig=q[De+16>>2];mg=Ig+4|0;if(mg>>>0<4){lg=lg+1|0}Kg=q[De+8>>2];Lg=mg;mg=lg;a:{if((Gg|0)<(lg|0)?1:(Gg|0)<=(lg|0)?Kg>>>0>=Lg>>>0?0:1:0){break a}lg=Ig+q[De>>2]|0;Gg=r[lg|0]|r[lg+1|0]<<8|(r[lg+2|0]<<16|r[lg+3|0]<<24);q[De+16>>2]=Lg;q[De+20>>2]=mg;lg=Hg;mg=Ig+8|0;if(mg>>>0<8){lg=lg+1|0}Hg=mg;mg=lg;if((Jg|0)<(lg|0)?1:(Jg|0)<=(lg|0)?Kg>>>0>=Hg>>>0?0:1:0){break a}q[De+16>>2]=Hg;q[De+20>>2]=mg;if(!(Gg&1)){break a}De=z(Gg)^31;if(De+ -1>>>0>28){break a}Mg=1;q[a+8>>2]=De+1;lg=-2<>2]=De;q[a+12>>2]=lg^-1;q[a+20>>2]=(De|0)/2}return Mg|0}function Ng(a){a=a|0;q[a>>2]=9748;return a|0}function Og(a){a=a|0;q[a>>2]=9748;An(a)}function Pg(a,De,Ng,Og,Pg,Qg){a=a|0;De=De|0;Ng=Ng|0;Og=Og|0;Pg=Pg|0;Qg=Qg|0;var Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0;Rg=T-48|0;T=Rg;Xg=a+8|0;Og=q[Xg>>2];if(Og+ -2>>>0<=28){q[a+72>>2]=Og;Og=-1<>2]=Pg;q[a+76>>2]=Og^-1;q[a+84>>2]=(Pg|0)/2}q[a+48>>2]=Qg;Og=q[a+36>>2];Pg=q[Og>>2];Qg=Og+4|0;Sg=q[Qg>>2];q[Rg+16>>2]=0;q[Rg+8>>2]=0;q[Rg+12>>2]=0;a:{Pg=Sg-Pg|0;if((Pg|0)<1){break a}Og=q[Og>>2];if((Og|0)!=q[Qg>>2]){Yg=Pg>>2;Zg=a+40|0;_g=a+88|0;$g=a+36|0;while(1){kg(Zg,q[(Vg<<2)+Og>>2],Rg+8|0);Pg=q[Rg+12>>2];Sg=Pg>>31;Qg=q[Rg+8>>2];Ug=Qg>>31;Wg=q[Rg+16>>2];Tg=Wg>>31;Og=0;Tg=Tg^Tg+Wg;Sg=Tg+((Sg^Pg+Sg)+(Ug^Qg+Ug)|0)|0;if(Sg>>>0>>0){Og=1}b:{if(!(Og|Sg)){q[Rg+8>>2]=q[a+84>>2];break b}Ug=q[a+84>>2];Tg=Ug;Tg=Tg>>31;Pg=ao($n(Ug,Tg,Pg,Pg>>31),V,Sg,Og);q[Rg+12>>2]=Pg;Og=ao($n(Ug,Tg,Qg,Qg>>31),V,Sg,Og);q[Rg+8>>2]=Og;Qg=Og;Og=Og>>31;Og=(Ug-(Qg+Og^Og)|0)+((Pg|0)<0?Pg:0-Pg|0)|0;if((Wg|0)>=0){q[Rg+16>>2]=Og;break b}q[Rg+16>>2]=0-Og}Og=dh(_g);Qg=q[Rg+8>>2];c:{if(!Og){Pg=q[Rg+12>>2];break c}q[Rg+16>>2]=0-q[Rg+16>>2];Pg=0-q[Rg+12>>2]|0;q[Rg+12>>2]=Pg;Qg=0-Qg|0;q[Rg+8>>2]=Qg}d:{if((Qg|0)>=0){Qg=q[a+84>>2];Og=Qg+q[Rg+16>>2]|0;Qg=Pg+Qg|0;break d}e:{if((Pg|0)<=-1){Og=q[Rg+16>>2];Qg=Og>>31;Qg=Qg^Og+Qg;break e}Og=q[Rg+16>>2];Qg=Og>>31;Qg=q[a+80>>2]-(Qg^Og+Qg)|0}if((Og|0)<=-1){Og=Pg>>31;Og=Og+Pg^Og;break d}Og=Pg>>31;Og=q[a+80>>2]-(Og+Pg^Og)|0}Pg=q[a+80>>2];f:{if(!(Og|Qg)){Og=Pg;Qg=Og;break f}if(!((Og|0)!=(Pg|0)|Qg)){Qg=Og;break f}if(!((Pg|0)!=(Qg|0)|Og)){Og=Qg;break f}g:{if(Qg){break g}Sg=q[a+84>>2];if((Sg|0)>=(Og|0)){break g}Og=(Sg<<1)-Og|0;Qg=0;break f}h:{if((Pg|0)!=(Qg|0)){break h}Sg=q[a+84>>2];if((Sg|0)<=(Og|0)){break h}Og=(Sg<<1)-Og|0;break f}i:{if((Og|0)!=(Pg|0)){break i}Pg=q[a+84>>2];if((Pg|0)<=(Qg|0)){break i}Qg=(Pg<<1)-Qg|0;break f}if(Og){break f}Og=0;Pg=q[a+84>>2];if((Pg|0)>=(Qg|0)){break f}Qg=(Pg<<1)-Qg|0}Pg=Vg<<3;Sg=Pg+De|0;Ug=q[Sg+4>>2];Sg=q[Sg>>2];q[Rg+36>>2]=Og;q[Rg+32>>2]=Qg;q[Rg+24>>2]=Sg;q[Rg+28>>2]=Ug;Lg(Rg+40|0,Xg,Rg+32|0,Rg+24|0);Og=Ng+Pg|0;q[Og>>2]=q[Rg+40>>2];q[Og+4>>2]=q[Rg+44>>2];Vg=Vg+1|0;if((Vg|0)>=(Yg|0)){break a}Pg=q[$g>>2];Og=q[Pg>>2];if(q[Pg+4>>2]-Og>>2>>>0>Vg>>>0){continue}break}}cn();F()}T=Rg+48|0;return 1}function Qg(a,De,Ng,Og,Pg,Qg){a=a|0;De=De|0;Ng=Ng|0;Og=Og|0;Pg=Pg|0;Qg=Qg|0;var ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0;Qg=T-32|0;T=Qg;bh=(Pg&1073741823)!=(Pg|0)?-1:Pg<<2;bh=Dn(Mm(bh),0,bh);ah=q[De>>2];ch=q[De+4>>2];eh=q[bh+4>>2];q[Qg+16>>2]=q[bh>>2];q[Qg+20>>2]=eh;q[Qg+8>>2]=ah;q[Qg+12>>2]=ch;ch=a+8|0;Lg(Qg+24|0,ch,Qg+16|0,Qg+8|0);q[Ng>>2]=q[Qg+24>>2];q[Ng+4>>2]=q[Qg+28>>2];if((Pg|0)<(Og|0)){eh=0-Pg<<2;a=Pg;while(1){ah=a<<2;dh=ah+De|0;gh=q[dh>>2];dh=q[dh+4>>2];ah=Ng+ah|0;fh=ah+eh|0;hh=q[fh+4>>2];q[Qg+16>>2]=q[fh>>2];q[Qg+20>>2]=hh;q[Qg+8>>2]=gh;q[Qg+12>>2]=dh;Lg(Qg+24|0,ch,Qg+16|0,Qg+8|0);q[ah>>2]=q[Qg+24>>2];q[ah+4>>2]=q[Qg+28>>2];a=a+Pg|0;if((a|0)<(Og|0)){continue}break}}An(bh);T=Qg+32|0;return 1}function Rg(a,De,Ng){a=a|0;De=De|0;Ng=Ng|0;if(Se(a,De,Ng)){a=q[q[q[q[De+4>>2]+8>>2]+(Ng<<2)>>2]+28>>2]==9}else{a=0}return a|0}function Sg(a,De,Ng){a=a|0;De=De|0;Ng=Ng|0;var Og=0;a:{if(r[q[a+4>>2]+36|0]<=1){Og=0;if(!n[q[q[a>>2]+52>>2]](a)){break a}}Og=Xe(a,De,Ng)}return Og|0}function Tg(a,De,Ng){a=a|0;De=De|0;Ng=Ng|0;De=T-32|0;T=De;a:{if(r[q[a+4>>2]+36|0]>=2){Ng=0;if(!n[q[q[a>>2]+52>>2]](a)){break a}}q[De+24>>2]=0;q[De+28>>2]=0;q[De+16>>2]=0;q[De+20>>2]=0;q[De+12>>2]=-1;q[De+8>>2]=1232;gd(De+8|0,q[a+24>>2],q[a+28>>2],o[q[a+8>>2]+24|0],u[a+32>>2]);Ng=ld(De+8|0,q[a+16>>2]);q[De+8>>2]=1232;a=q[De+16>>2];if(!a){break a}q[De+20>>2]=a;An(a)}T=De+32|0;return Ng|0}function Ug(a,De){a=a|0;De=De|0;return n[q[q[a>>2]+56>>2]](a,De)|0}function Vg(a){a=a|0;var De=0,Ng=0,Pg=0,Qg=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0;De=o[q[a+8>>2]+24|0];Pg=De<<2;De=Mm((De|0)!=(De&1073741823)?-1:Pg);Ng=q[a+28>>2];q[a+28>>2]=De;if(Ng){An(Ng)}lh=a+4|0;Ng=q[q[lh>>2]+32>>2];De=q[Ng+8>>2];mh=q[Ng+12>>2];jh=De;ih=q[Ng+20>>2];kh=q[Ng+16>>2];De=Pg;Qg=kh+De|0;if(Qg>>>0>>0){ih=ih+1|0}a:{if((mh|0)<(ih|0)?1:(mh|0)<=(ih|0)?jh>>>0>=Qg>>>0?0:1:0){break a}Cn(q[a+28>>2],kh+q[Ng>>2]|0,Pg);Pg=Ng;jh=Ng;Qg=q[Ng+20>>2];Ng=De+q[Ng+16>>2]|0;if(Ng>>>0>>0){Qg=Qg+1|0}q[jh+16>>2]=Ng;q[Pg+20>>2]=Qg;Qg=q[lh>>2];Pg=q[Qg+32>>2];De=q[Pg+8>>2];ih=q[Pg+12>>2];jh=De;kh=q[Pg+20>>2];Ng=q[Pg+16>>2];De=Ng+4|0;if(De>>>0<4){kh=kh+1|0}if((ih|0)<(kh|0)?1:(ih|0)<=(kh|0)?jh>>>0>=De>>>0?0:1:0){break a}De=Ng+q[Pg>>2]|0;q[a+32>>2]=r[De|0]|r[De+1|0]<<8|(r[De+2|0]<<16|r[De+3|0]<<24);De=Pg;jh=De;Ng=q[De+20>>2];Pg=q[De+16>>2]+4|0;if(Pg>>>0<4){Ng=Ng+1|0}q[jh+16>>2]=Pg;q[De+20>>2]=Ng;De=q[Qg+32>>2];ih=q[De+16>>2];Qg=q[De+12>>2];Pg=q[De+20>>2];Ng=Pg;if((Qg|0)<(Ng|0)?1:(Qg|0)<=(Ng|0)?t[De+8>>2]>ih>>>0?0:1:0){break a}Qg=r[ih+q[De>>2]|0];Ng=ih+1|0;if(Ng>>>0<1){Pg=Pg+1|0}q[De+16>>2]=Ng;q[De+20>>2]=Pg;if(Qg>>>0>31){break a}q[a+24>>2]=Qg;nh=1}return nh|0}function Wg(a,oh){a=a|0;oh=oh|0;var ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=x(0);sh=T-16|0;T=sh;qh=q[a+24>>2];rh=o[q[a+8>>2]+24|0];th=rh<<2;uh=Mm((rh&1073741823)!=(rh|0)?-1:th);vh=hk(sh+8|0);a:{if(!ik(vh,u[a+32>>2],-1<>2];qh=0;b:{if(!q[ph+80>>2]){break b}qh=q[q[ph>>2]>>2]+q[ph+48>>2]|0}if(!oh){ph=1;break a}zh=(rh|0)<1;Ah=a+28|0;Bh=a+8|0;a=0;while(1){if(!zh){Ch=q[Ah>>2];Dh=u[vh>>2];ph=0;while(1){wh=ph<<2;u[wh+uh>>2]=x(Dh*x(q[(a<<2)+qh>>2]))+u[Ch+wh>>2];a=a+1|0;ph=ph+1|0;if((rh|0)!=(ph|0)){continue}break}}Cn(q[q[q[Bh>>2]- -64>>2]>>2]+xh|0,uh,th);xh=th+xh|0;ph=1;yh=yh+1|0;if((yh|0)!=(oh|0)){continue}break}}An(uh);T=sh+16|0;return ph|0}function Xg(a){a=a|0;var oh=0,Eh=0;q[a>>2]=10764;Eh=a+28|0;oh=q[Eh>>2];q[Eh>>2]=0;if(oh){An(oh)}q[a>>2]=2220;Eh=a+20|0;oh=q[Eh>>2];q[Eh>>2]=0;if(oh){n[q[q[oh>>2]+4>>2]](oh)}q[a>>2]=1908;Eh=a+16|0;oh=q[Eh>>2];q[Eh>>2]=0;if(oh){Hb(oh)}return a|0}function Yg(a){a=a|0;var Fh=0,Gh=0;q[a>>2]=10764;Gh=a+28|0;Fh=q[Gh>>2];q[Gh>>2]=0;if(Fh){An(Fh)}q[a>>2]=2220;Gh=a+20|0;Fh=q[Gh>>2];q[Gh>>2]=0;if(Fh){n[q[q[Fh>>2]+4>>2]](Fh)}q[a>>2]=1908;Gh=a+16|0;Fh=q[Gh>>2];q[Gh>>2]=0;if(Fh){Hb(Fh)}An(a)}function Zg(a){q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0}function _g(a){var Hh=0,Ih=0;q[a+16>>2]=0;Ih=a+4|0;Hh=q[a>>2];q[Ih>>2]=Hh;q[a+12>>2]=Hh;if(Hh){q[Ih>>2]=Hh;An(Hh)}}function $g(a,Jh){var Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0;q[a+16>>2]=0;Kh=q[a>>2];q[a+4>>2]=Kh;q[a+12>>2]=Kh;Qh=q[Jh+12>>2];Kh=Qh;Lh=q[Jh+20>>2];Mh=q[Jh+16>>2];Nh=Mh+4|0;if(Nh>>>0<4){Lh=Lh+1|0}Ph=q[Jh+8>>2];Oh=Nh;Nh=Lh;a:{if((Kh|0)<(Lh|0)?1:(Kh|0)<=(Lh|0)?Ph>>>0>=Oh>>>0?0:1:0){break a}Kh=Mh+q[Jh>>2]|0;Lh=r[Kh|0]|r[Kh+1|0]<<8|(r[Kh+2|0]<<16|r[Kh+3|0]<<24);q[Jh+16>>2]=Oh;q[Jh+20>>2]=Nh;if(!Lh|Lh&3){break a}Mh=Ph;Kh=Lh;Rh=Mh-Oh>>>0>=Kh>>>0?0:1;Mh=Qh-(Nh+(Mh>>>0>>0)|0)|0;if((Mh|0)<0?1:(Mh|0)<=0?Rh:0){break a}Mh=Lh>>>2;if(Mh){Fa(a,Mh);Ph=q[Jh+8>>2];Qh=q[Jh+12>>2];Oh=q[Jh+16>>2];Nh=q[Jh+20>>2]}Mh=Kh+Oh|0;if(Mh>>>0>>0){Nh=Nh+1|0}if((Qh|0)<(Nh|0)?1:(Qh|0)<=(Nh|0)?Ph>>>0>=Mh>>>0?0:1:0){break a}Cn(q[a>>2],Oh+q[Jh>>2]|0,Lh);Nh=Jh;Ph=Jh;Lh=q[Jh+20>>2];Jh=Kh+q[Jh+16>>2]|0;if(Jh>>>0>>0){Lh=Lh+1|0}q[Ph+16>>2]=Jh;q[Nh+20>>2]=Lh;q[a+16>>2]=0;q[a+12>>2]=q[a>>2];Sh=1}return Sh}function ah(a){q[a>>2]=0;q[a+4>>2]=0;o[a+5|0]=0;o[a+6|0]=0;o[a+7|0]=0;o[a+8|0]=0;o[a+9|0]=0;o[a+10|0]=0;o[a+11|0]=0;o[a+12|0]=0;return a}function bh(a,Jh){var Th=0,Uh=0,Vh=0,Wh=0,Xh=0,Yh=0,Zh=0,_h=0,$h=0,ai=0,bi=0;_h=T-16|0;T=_h;Wh=q[Jh+16>>2];Th=q[Jh+12>>2];Uh=q[Jh+20>>2];a:{if((Th|0)<(Uh|0)?1:(Th|0)<=(Uh|0)?t[Jh+8>>2]>Wh>>>0?0:1:0){break a}o[a+12|0]=r[Wh+q[Jh>>2]|0];Th=q[Jh+20>>2];Wh=Th;Xh=q[Jh+16>>2];Yh=Xh+1|0;if(Yh>>>0<1){Th=Th+1|0}Vh=Yh;q[Jh+16>>2]=Vh;q[Jh+20>>2]=Th;b:{if(s[Jh+38>>1]<=513){Zh=q[Jh+12>>2];$h=Zh;Uh=Wh;Th=Xh+5|0;if(Th>>>0<5){Uh=Uh+1|0}Yh=q[Jh+8>>2];Xh=Th;Th=Uh;if(($h|0)<(Th|0)?1:($h|0)<=(Th|0)?Yh>>>0>=Xh>>>0?0:1:0){break a}Uh=Vh+q[Jh>>2]|0;Vh=r[Uh|0]|r[Uh+1|0]<<8|(r[Uh+2|0]<<16|r[Uh+3|0]<<24);q[_h+12>>2]=Vh;q[Jh+16>>2]=Xh;q[Jh+20>>2]=Th;break b}if(!ch(1,_h+12|0,Jh)){break a}Xh=q[Jh+16>>2];Th=q[Jh+20>>2];Yh=q[Jh+8>>2];Zh=q[Jh+12>>2];Vh=q[_h+12>>2]}Uh=Vh;Wh=Zh-(Th+(Yh>>>0>>0)|0)|0;if(((Wh|0)<0?1:(Wh|0)<=0?Yh-Xh>>>0>=Uh>>>0?0:1:0)|(Uh|0)<1){break a}Wh=Xh+q[Jh>>2]|0;q[a>>2]=Wh;Zh=Vh+ -1|0;$h=Zh+Wh|0;Yh=r[$h|0]>>>6;if((Yh|0)==3){break a}ai=a;c:{d:{switch(Yh-1|0){default:q[a+4>>2]=Zh;a=r[$h|0]&63;break c;case 0:if((Vh|0)<2){break a}q[a+4>>2]=Vh+ -2;a=(Vh+Wh|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c;case 1:break d}}if((Vh|0)<3){break a}q[a+4>>2]=Vh+ -3;a=(Vh+Wh|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0]}a=a+4096|0;q[ai+8>>2]=a;if(a>>>0>1048575){break a}a=Uh+Xh|0;if(a>>>0>>0){Th=Th+1|0}q[Jh+16>>2]=a;q[Jh+20>>2]=Th;bi=1}T=_h+16|0;return bi}function ch(a,Jh,ci){var di=0,ei=0,fi=0,gi=0;a:{if(a>>>0>5){break a}fi=q[ci+16>>2];di=q[ci+12>>2];ei=q[ci+20>>2];if((di|0)<(ei|0)?1:(di|0)<=(ei|0)?t[ci+8>>2]>fi>>>0?0:1:0){break a}di=r[fi+q[ci>>2]|0];fi=fi+1|0;if(fi>>>0<1){ei=ei+1|0}q[ci+16>>2]=fi;q[ci+20>>2]=ei;ei=Jh;if(di&128){if(!ch(a+1|0,Jh,ci)){break a}a=q[Jh>>2]<<7;q[Jh>>2]=a;di=a|di&127}q[ei>>2]=di;gi=1}return gi}function dh(a){var Jh=0,ci=0,hi=0,ii=0,ji=0;hi=0-r[a+12|0]|0;ci=q[a+8>>2];a:{if(ci>>>0>4095){break a}Jh=q[a+4>>2];if((Jh|0)<1){break a}Jh=Jh+ -1|0;q[a+4>>2]=Jh;ci=r[Jh+q[a>>2]|0]|ci<<8;q[a+8>>2]=ci}hi=hi&255;Jh=w(hi,ci>>>8);ii=ci&255;ji=ii>>>0>>0;q[a+8>>2]=ji?Jh+ii|0:(ci-hi|0)-Jh|0;return ji}function eh(a,ki,li){var mi=0,ni=0,oi=0,pi=0,qi=0,ri=0;if(!ki){q[li>>2]=0;return}pi=0-r[a+12|0]&255;ni=q[a+8>>2];while(1){qi=mi<<1;a:{if(ni>>>0>4095){break a}mi=q[a+4>>2];if((mi|0)<1){break a}mi=mi+ -1|0;q[a+4>>2]=mi;ni=r[mi+q[a>>2]|0]|ni<<8;q[a+8>>2]=ni}oi=ni&255;mi=oi>>>0>>0;ri=oi;oi=w(ni>>>8,pi);ni=mi?ri+oi|0:(ni-pi|0)-oi|0;q[a+8>>2]=ni;mi=mi|qi;ki=ki+ -1|0;if(ki){continue}break}q[li>>2]=mi}function fh(a,ki){var li=0,si=0,ti=0;ti=T-32|0;T=ti;a:{if(ki>>>0<=1){if(ki-1){li=Mm(44);ki=li;q[ki>>2]=0;q[ki+4>>2]=0;q[ki+40>>2]=0;q[ki+32>>2]=0;q[ki+36>>2]=0;q[ki+24>>2]=0;q[ki+28>>2]=0;q[ki+16>>2]=0;q[ki+20>>2]=0;q[ki+8>>2]=0;q[ki+12>>2]=0;Ij(ki);q[ki>>2]=13760;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=ki;break a}li=Mm(44);ki=li;q[ki>>2]=0;q[ki+4>>2]=0;q[ki+40>>2]=0;q[ki+32>>2]=0;q[ki+36>>2]=0;q[ki+24>>2]=0;q[ki+28>>2]=0;q[ki+16>>2]=0;q[ki+20>>2]=0;q[ki+8>>2]=0;q[ki+12>>2]=0;Ij(ki);q[ki>>2]=13668;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=ki;break a}ki=Mm(32);q[ti>>2]=ki;q[ti+4>>2]=28;q[ti+8>>2]=-2147483616;o[ki+28|0]=0;li=r[10912]|r[10913]<<8|(r[10914]<<16|r[10915]<<24);o[ki+24|0]=li;o[ki+25|0]=li>>>8;o[ki+26|0]=li>>>16;o[ki+27|0]=li>>>24;li=r[10908]|r[10909]<<8|(r[10910]<<16|r[10911]<<24);si=r[10904]|r[10905]<<8|(r[10906]<<16|r[10907]<<24);o[ki+16|0]=si;o[ki+17|0]=si>>>8;o[ki+18|0]=si>>>16;o[ki+19|0]=si>>>24;o[ki+20|0]=li;o[ki+21|0]=li>>>8;o[ki+22|0]=li>>>16;o[ki+23|0]=li>>>24;li=r[10900]|r[10901]<<8|(r[10902]<<16|r[10903]<<24);si=r[10896]|r[10897]<<8|(r[10898]<<16|r[10899]<<24);o[ki+8|0]=si;o[ki+9|0]=si>>>8;o[ki+10|0]=si>>>16;o[ki+11|0]=si>>>24;o[ki+12|0]=li;o[ki+13|0]=li>>>8;o[ki+14|0]=li>>>16;o[ki+15|0]=li>>>24;li=r[10892]|r[10893]<<8|(r[10894]<<16|r[10895]<<24);si=r[10888]|r[10889]<<8|(r[10890]<<16|r[10891]<<24);o[ki|0]=si;o[ki+1|0]=si>>>8;o[ki+2|0]=si>>>16;o[ki+3|0]=si>>>24;o[ki+4|0]=li;o[ki+5|0]=li>>>8;o[ki+6|0]=li>>>16;o[ki+7|0]=li>>>24;q[ti+16>>2]=-1;ki=Rm(ti+16|4,ti);q[a>>2]=q[ti+16>>2];Rm(a+4|0,ki);q[a+16>>2]=0;if(o[ki+11|0]<=-1){An(q[ki>>2])}if(o[ti+11|0]>-1){break a}An(q[ti>>2])}T=ti+32|0}function gh(a,ki){var ui=0,vi=0,wi=0;wi=T-32|0;T=wi;a:{if(ki>>>0<=1){if(ki-1){ki=Mm(48);Rh(ki);q[ki>>2]=13064;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=ki;break a}ki=Mm(52);Rh(ki);q[ki+48>>2]=0;q[ki>>2]=11164;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=ki;break a}ki=Mm(32);q[wi>>2]=ki;q[wi+4>>2]=28;q[wi+8>>2]=-2147483616;o[ki+28|0]=0;ui=r[10912]|r[10913]<<8|(r[10914]<<16|r[10915]<<24);o[ki+24|0]=ui;o[ki+25|0]=ui>>>8;o[ki+26|0]=ui>>>16;o[ki+27|0]=ui>>>24;ui=r[10908]|r[10909]<<8|(r[10910]<<16|r[10911]<<24);vi=r[10904]|r[10905]<<8|(r[10906]<<16|r[10907]<<24);o[ki+16|0]=vi;o[ki+17|0]=vi>>>8;o[ki+18|0]=vi>>>16;o[ki+19|0]=vi>>>24;o[ki+20|0]=ui;o[ki+21|0]=ui>>>8;o[ki+22|0]=ui>>>16;o[ki+23|0]=ui>>>24;ui=r[10900]|r[10901]<<8|(r[10902]<<16|r[10903]<<24);vi=r[10896]|r[10897]<<8|(r[10898]<<16|r[10899]<<24);o[ki+8|0]=vi;o[ki+9|0]=vi>>>8;o[ki+10|0]=vi>>>16;o[ki+11|0]=vi>>>24;o[ki+12|0]=ui;o[ki+13|0]=ui>>>8;o[ki+14|0]=ui>>>16;o[ki+15|0]=ui>>>24;ui=r[10892]|r[10893]<<8|(r[10894]<<16|r[10895]<<24);vi=r[10888]|r[10889]<<8|(r[10890]<<16|r[10891]<<24);o[ki|0]=vi;o[ki+1|0]=vi>>>8;o[ki+2|0]=vi>>>16;o[ki+3|0]=vi>>>24;o[ki+4|0]=ui;o[ki+5|0]=ui>>>8;o[ki+6|0]=ui>>>16;o[ki+7|0]=ui>>>24;q[wi+16>>2]=-1;ki=Rm(wi+16|4,wi);q[a>>2]=q[wi+16>>2];Rm(a+4|0,ki);q[a+16>>2]=0;if(o[ki+11|0]<=-1){An(q[ki>>2])}if(o[wi+11|0]>-1){break a}An(q[wi>>2])}T=wi+32|0}function hh(a,ki){var xi=0,yi=0,zi=0;xi=T-80|0;T=xi;yi=q[ki+36>>2];q[xi+72>>2]=q[ki+32>>2];q[xi+76>>2]=yi;zi=q[ki+28>>2];yi=xi- -64|0;q[yi>>2]=q[ki+24>>2];q[yi+4>>2]=zi;yi=q[ki+20>>2];q[xi+56>>2]=q[ki+16>>2];q[xi+60>>2]=yi;yi=q[ki+12>>2];q[xi+48>>2]=q[ki+8>>2];q[xi+52>>2]=yi;yi=q[ki+4>>2];q[xi+40>>2]=q[ki>>2];q[xi+44>>2]=yi;Jj(xi+8|0,xi+40|0,xi+24|0);ki=q[xi+8>>2];a:{if(ki){q[a>>2]=ki;Rm(a+4|0,xi+8|4);if(o[xi+23|0]>=0){break a}An(q[xi+12>>2]);break a}if(o[xi+23|0]<=-1){An(q[xi+12>>2])}ki=r[xi+31|0];q[a>>2]=0;q[a+4>>2]=0;q[a+16>>2]=ki;q[a+8>>2]=0;q[a+12>>2]=0}T=xi+80|0}function ih(a,ki,Ai,Bi){var Ci=0,Di=0,Ei=0;Ci=T-80|0;T=Ci;Di=q[Ai+36>>2];q[Ci+72>>2]=q[Ai+32>>2];q[Ci+76>>2]=Di;Ei=q[Ai+28>>2];Di=Ci- -64|0;q[Di>>2]=q[Ai+24>>2];q[Di+4>>2]=Ei;Di=q[Ai+20>>2];q[Ci+56>>2]=q[Ai+16>>2];q[Ci+60>>2]=Di;Di=q[Ai+12>>2];q[Ci+48>>2]=q[Ai+8>>2];q[Ci+52>>2]=Di;Di=q[Ai+4>>2];q[Ci+40>>2]=q[Ai>>2];q[Ci+44>>2]=Di;Jj(a,Ci+40|0,Ci+24|0);a:{if(q[a>>2]){break a}Ei=a+4|0;if(o[a+15|0]<=-1){An(q[Ei>>2])}if(r[Ci+31|0]){q[Ci+8>>2]=0;q[Ci>>2]=0;q[Ci+4>>2]=0;ki=Mm(32);q[Ci>>2]=ki;q[Ci+4>>2]=27;q[Ci+8>>2]=-2147483616;o[ki+27|0]=0;Ai=r[10940]|r[10941]<<8|(r[10942]<<16|r[10943]<<24);o[ki+23|0]=Ai;o[ki+24|0]=Ai>>>8;o[ki+25|0]=Ai>>>16;o[ki+26|0]=Ai>>>24;Ai=r[10937]|r[10938]<<8|(r[10939]<<16|r[10940]<<24);Bi=r[10933]|r[10934]<<8|(r[10935]<<16|r[10936]<<24);o[ki+16|0]=Bi;o[ki+17|0]=Bi>>>8;o[ki+18|0]=Bi>>>16;o[ki+19|0]=Bi>>>24;o[ki+20|0]=Ai;o[ki+21|0]=Ai>>>8;o[ki+22|0]=Ai>>>16;o[ki+23|0]=Ai>>>24;Ai=r[10929]|r[10930]<<8|(r[10931]<<16|r[10932]<<24);Bi=r[10925]|r[10926]<<8|(r[10927]<<16|r[10928]<<24);o[ki+8|0]=Bi;o[ki+9|0]=Bi>>>8;o[ki+10|0]=Bi>>>16;o[ki+11|0]=Bi>>>24;o[ki+12|0]=Ai;o[ki+13|0]=Ai>>>8;o[ki+14|0]=Ai>>>16;o[ki+15|0]=Ai>>>24;Ai=r[10921]|r[10922]<<8|(r[10923]<<16|r[10924]<<24);Bi=r[10917]|r[10918]<<8|(r[10919]<<16|r[10920]<<24);o[ki|0]=Bi;o[ki+1|0]=Bi>>>8;o[ki+2|0]=Bi>>>16;o[ki+3|0]=Bi>>>24;o[ki+4|0]=Ai;o[ki+5|0]=Ai>>>8;o[ki+6|0]=Ai>>>16;o[ki+7|0]=Ai>>>24;q[a>>2]=-1;Rm(Ei,Ci);if(o[Ci+11|0]>-1){break a}An(q[Ci>>2]);break a}fh(Ci,o[Ci+32|0]);Di=q[Ci>>2];b:{if(Di){q[a>>2]=Di;Rm(Ei,Ci|4);break b}Di=q[Ci+16>>2];q[Ci+16>>2]=0;Mj(a,Di,ki,Ai,Bi);if(!q[a>>2]){if(o[Ei+11|0]<=-1){An(q[Ei>>2])}q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0}if(!Di){break b}n[q[q[Di>>2]+4>>2]](Di)}a=q[Ci+16>>2];q[Ci+16>>2]=0;if(a){n[q[q[a>>2]+4>>2]](a)}if(o[Ci+15|0]>-1){break a}An(q[Ci+4>>2])}T=Ci+80|0}function jh(a,ki,Ai,Bi){var Fi=0,Gi=0,Hi=0;Fi=T-80|0;T=Fi;Gi=q[Ai+36>>2];q[Fi+72>>2]=q[Ai+32>>2];q[Fi+76>>2]=Gi;Hi=q[Ai+28>>2];Gi=Fi- -64|0;q[Gi>>2]=q[Ai+24>>2];q[Gi+4>>2]=Hi;Gi=q[Ai+20>>2];q[Fi+56>>2]=q[Ai+16>>2];q[Fi+60>>2]=Gi;Gi=q[Ai+12>>2];q[Fi+48>>2]=q[Ai+8>>2];q[Fi+52>>2]=Gi;Gi=q[Ai+4>>2];q[Fi+40>>2]=q[Ai>>2];q[Fi+44>>2]=Gi;Jj(a,Fi+40|0,Fi+24|0);a:{if(q[a>>2]){break a}Gi=a+4|0;if(o[a+15|0]<=-1){An(q[Gi>>2])}if(r[Fi+31|0]!=1){q[Fi+8>>2]=0;q[Fi>>2]=0;q[Fi+4>>2]=0;ki=Mm(32);q[Fi>>2]=ki;q[Fi+4>>2]=20;q[Fi+8>>2]=-2147483616;o[ki+20|0]=0;Ai=r[10961]|r[10962]<<8|(r[10963]<<16|r[10964]<<24);o[ki+16|0]=Ai;o[ki+17|0]=Ai>>>8;o[ki+18|0]=Ai>>>16;o[ki+19|0]=Ai>>>24;Ai=r[10957]|r[10958]<<8|(r[10959]<<16|r[10960]<<24);Bi=r[10953]|r[10954]<<8|(r[10955]<<16|r[10956]<<24);o[ki+8|0]=Bi;o[ki+9|0]=Bi>>>8;o[ki+10|0]=Bi>>>16;o[ki+11|0]=Bi>>>24;o[ki+12|0]=Ai;o[ki+13|0]=Ai>>>8;o[ki+14|0]=Ai>>>16;o[ki+15|0]=Ai>>>24;Ai=r[10949]|r[10950]<<8|(r[10951]<<16|r[10952]<<24);Bi=r[10945]|r[10946]<<8|(r[10947]<<16|r[10948]<<24);o[ki|0]=Bi;o[ki+1|0]=Bi>>>8;o[ki+2|0]=Bi>>>16;o[ki+3|0]=Bi>>>24;o[ki+4|0]=Ai;o[ki+5|0]=Ai>>>8;o[ki+6|0]=Ai>>>16;o[ki+7|0]=Ai>>>24;q[a>>2]=-1;Rm(Gi,Fi);if(o[Fi+11|0]>-1){break a}An(q[Fi>>2]);break a}gh(Fi,r[Fi+32|0]);Hi=q[Fi>>2];b:{if(Hi){q[a>>2]=Hi;Rm(Gi,Fi|4);break b}Hi=q[Fi+16>>2];q[Fi+16>>2]=0;q[Hi+44>>2]=Bi;Mj(a,Hi,ki,Ai,Bi);if(!q[a>>2]){if(o[Gi+11|0]<=-1){An(q[Gi>>2])}q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0}if(!Hi){break b}n[q[q[Hi>>2]+4>>2]](Hi)}a=q[Fi+16>>2];q[Fi+16>>2]=0;if(a){n[q[q[a>>2]+4>>2]](a)}if(o[Fi+15|0]>-1){break a}An(q[Fi+4>>2])}T=Fi+80|0}function kh(a,ki){var Ai=0,Bi=0,Ii=0;Ii=T-16|0;T=Ii;q[Ii+12>>2]=ki;ki=Mm(32);q[Ii>>2]=ki;q[Ii+4>>2]=24;q[Ii+8>>2]=-2147483616;o[ki+24|0]=0;Ai=r[10986]|r[10987]<<8|(r[10988]<<16|r[10989]<<24);Bi=r[10982]|r[10983]<<8|(r[10984]<<16|r[10985]<<24);o[ki+16|0]=Bi;o[ki+17|0]=Bi>>>8;o[ki+18|0]=Bi>>>16;o[ki+19|0]=Bi>>>24;o[ki+20|0]=Ai;o[ki+21|0]=Ai>>>8;o[ki+22|0]=Ai>>>16;o[ki+23|0]=Ai>>>24;Ai=r[10978]|r[10979]<<8|(r[10980]<<16|r[10981]<<24);Bi=r[10974]|r[10975]<<8|(r[10976]<<16|r[10977]<<24);o[ki+8|0]=Bi;o[ki+9|0]=Bi>>>8;o[ki+10|0]=Bi>>>16;o[ki+11|0]=Bi>>>24;o[ki+12|0]=Ai;o[ki+13|0]=Ai>>>8;o[ki+14|0]=Ai>>>16;o[ki+15|0]=Ai>>>24;Ai=r[10970]|r[10971]<<8|(r[10972]<<16|r[10973]<<24);Bi=r[10966]|r[10967]<<8|(r[10968]<<16|r[10969]<<24);o[ki|0]=Bi;o[ki+1|0]=Bi>>>8;o[ki+2|0]=Bi>>>16;o[ki+3|0]=Bi>>>24;o[ki+4|0]=Ai;o[ki+5|0]=Ai>>>8;o[ki+6|0]=Ai>>>16;o[ki+7|0]=Ai>>>24;ek(lh(a,Ii+12|0),Ii);if(o[Ii+11|0]<=-1){An(q[Ii>>2])}T=Ii+16|0}function lh(a,ki){var Ji=0,Ki=0,Li=0,Mi=0,Ni=0,Oi=0,Pi=0,Qi=0;Li=T-32|0;T=Li;Mi=a+16|0;Ki=q[Mi>>2];a:{b:{if(!Ki){break b}Oi=q[ki>>2];Ji=Mi;while(1){Ni=q[Ki+16>>2]<(Oi|0);Ji=Ni?Ji:Ki;Ki=q[(Ni<<2)+Ki>>2];if(Ki){continue}break}if((Ji|0)==(Mi|0)){break b}if((Oi|0)>=q[Ji+16>>2]){break a}}Oi=ck(Li+16|0);ki=q[ki>>2];Ni=Li+8|0;q[Ni>>2]=0;q[Ni+4>>2]=0;q[Li>>2]=ki;q[Li+4>>2]=Ni;Ji=q[Oi>>2];Pi=Oi+4|0;if((Ji|0)!=(Pi|0)){Qi=Li|4;while(1){ki=Ji;Ki=Ji+16|0;mh(Qi,Ni,Ki,Ki);Ki=q[Ji+4>>2];c:{if(!Ki){Ji=q[ki+8>>2];if((ki|0)==q[Ji>>2]){break c}ki=ki+8|0;while(1){Ki=q[ki>>2];ki=Ki+8|0;Ji=q[Ki+8>>2];if((Ki|0)!=q[Ji>>2]){continue}break}break c}while(1){Ji=Ki;Ki=q[Ji>>2];if(Ki){continue}break}}if((Ji|0)!=(Pi|0)){continue}break}}ki=a+16|0;Ki=q[ki>>2];d:{if(Ki){Mi=q[Li>>2];while(1){Ji=q[Ki+16>>2];e:{if((Mi|0)<(Ji|0)){Ji=q[Ki>>2];if(Ji){break e}ki=Ki;break d}if((Ji|0)>=(Mi|0)){break d}ki=Ki+4|0;Ji=q[Ki+4>>2];if(!Ji){break d}Ki=ki}ki=Ki;Ki=Ji;continue}}Ki=Mi;ki=Ki}Ji=q[ki>>2];if(!Ji){Ji=Mm(32);q[Ji+16>>2]=q[Li>>2];q[Ji+20>>2]=q[Li+4>>2];Mi=Ji+24|0;Pi=q[Li+8>>2];q[Mi>>2]=Pi;Qi=q[Li+12>>2];q[Ji+28>>2]=Qi;f:{if(!Qi){q[Ji+20>>2]=Mi;break f}q[Pi+8>>2]=Mi;q[Li+8>>2]=0;q[Li+12>>2]=0;q[Li+4>>2]=Ni}q[Ji+8>>2]=Ki;q[Ji>>2]=0;q[Ji+4>>2]=0;q[ki>>2]=Ji;Mi=q[q[a+12>>2]>>2];Ki=Ji;g:{if(!Mi){break g}q[a+12>>2]=Mi;Ki=q[ki>>2]}nh(q[a+16>>2],Ki);a=a+20|0;q[a>>2]=q[a>>2]+1}Cc(Li|4,q[Li+8>>2]);Cc(Oi,q[Oi+4>>2])}T=Li+32|0;return Ji+20|0}function mh(a,ki,Ri,Si){var Ti=0;Ti=T-16|0;T=Ti;Ri=oh(a,ki,Ti+12|0,Ti+8|0,Ri);if(!q[Ri>>2]){ki=Mm(40);Rm(ki+16|0,Si);Rm(ki+28|0,Si+12|0);q[ki+8>>2]=q[Ti+12>>2];q[ki>>2]=0;q[ki+4>>2]=0;q[Ri>>2]=ki;Si=ki;ki=q[q[a>>2]>>2];if(ki){q[a>>2]=ki;Si=q[Ri>>2]}nh(q[a+4>>2],Si);a=a+8|0;q[a>>2]=q[a>>2]+1}T=Ti+16|0}function nh(a,ki){var Ri=0,Si=0,Ui=0;Ri=(a|0)==(ki|0);o[ki+12|0]=Ri;a:{if(Ri){break a}while(1){Si=q[ki+8>>2];if(r[Si+12|0]){break a}b:{Ri=q[Si+8>>2];Ui=q[Ri>>2];if((Ui|0)==(Si|0)){Ui=q[Ri+4>>2];if(!(!Ui|r[Ui+12|0])){break b}c:{if(q[Si>>2]==(ki|0)){ki=Si;break c}ki=q[Si+4>>2];Ui=q[ki>>2];q[Si+4>>2]=Ui;a=ki;if(Ui){q[Ui+8>>2]=Si;Ri=q[Si+8>>2]}q[a+8>>2]=Ri;a=q[Si+8>>2];q[((Si|0)==q[a>>2]?a:a+4|0)>>2]=ki;q[ki>>2]=Si;q[Si+8>>2]=ki;Ri=q[ki+8>>2]}o[ki+12|0]=1;o[Ri+12|0]=0;a=q[Ri>>2];ki=q[a+4>>2];q[Ri>>2]=ki;if(ki){q[ki+8>>2]=Ri}q[a+8>>2]=q[Ri+8>>2];ki=q[Ri+8>>2];q[(q[ki>>2]==(Ri|0)?ki:ki+4|0)>>2]=a;q[a+4>>2]=Ri;q[Ri+8>>2]=a;return}if(!(r[Ui+12|0]|!Ui)){break b}d:{if(q[Si>>2]!=(ki|0)){ki=Si;break d}Ui=q[ki+4>>2];q[Si>>2]=Ui;a=ki;if(Ui){q[Ui+8>>2]=Si;Ri=q[Si+8>>2]}q[a+8>>2]=Ri;a=q[Si+8>>2];q[((Si|0)==q[a>>2]?a:a+4|0)>>2]=ki;q[ki+4>>2]=Si;q[Si+8>>2]=ki;Ri=q[ki+8>>2]}o[ki+12|0]=1;o[Ri+12|0]=0;a=q[Ri+4>>2];ki=q[a>>2];q[Ri+4>>2]=ki;if(ki){q[ki+8>>2]=Ri}q[a+8>>2]=q[Ri+8>>2];ki=q[Ri+8>>2];q[(q[ki>>2]==(Ri|0)?ki:ki+4|0)>>2]=a;q[a>>2]=Ri;q[Ri+8>>2]=a;break a}ki=Ui+12|0;o[Si+12|0]=1;o[Ri+12|0]=(a|0)==(Ri|0);o[ki|0]=1;ki=Ri;if((ki|0)!=(a|0)){continue}break}}}function oh(a,ki,Vi,Wi,Xi){var Yi=0,Zi=0,_i=0,$i=0,aj=0,bj=0,cj=0,dj=0,ej=0,fj=0,gj=0;a:{b:{c:{d:{e:{ej=a+4|0;f:{if((ej|0)==(ki|0)){break f}Yi=ki+16|0;_i=r[ki+27|0];fj=_i<<24>>24;Zi=(fj|0)<0;$i=r[Xi+11|0];aj=$i<<24>>24;bj=(aj|0)<0;cj=Zi?q[ki+20>>2]:_i;$i=bj?q[Xi+4>>2]:$i;dj=cj>>>0<$i>>>0;g:{_i=dj?cj:$i;if(_i){bj=bj?q[Xi>>2]:Xi;Zi=Zi?q[Yi>>2]:Yi;gj=cm(bj,Zi,_i);if(gj){break g}}if($i>>>0>>0){break f}if(!_i){break d}bj=(aj|0)<0?q[Xi>>2]:Xi;Zi=(fj|0)<0?q[Yi>>2]:Yi;break e}if((gj|0)>-1){break e}}_i=q[ki>>2];h:{i:{if(q[a>>2]==(ki|0)){Yi=ki;break i}j:{if(!_i){Wi=ki;while(1){Yi=q[Wi+8>>2];$i=q[Yi>>2]==(Wi|0);Wi=Yi;if($i){continue}break}break j}Wi=_i;while(1){Yi=Wi;Wi=q[Yi+4>>2];if(Wi){continue}break}}Zi=r[Xi+11|0];Wi=Zi<<24>>24<0;aj=r[Yi+27|0];$i=aj<<24>>24<0;k:{Zi=Wi?q[Xi+4>>2]:Zi;aj=$i?q[Yi+20>>2]:aj;bj=Zi>>>0>>0?Zi:aj;if(bj){cj=Yi+16|0;Wi=cm($i?q[cj>>2]:cj,Wi?q[Xi>>2]:Xi,bj);if(Wi){break k}}if(aj>>>0>>0){break i}break h}if((Wi|0)>-1){break h}}if(!_i){q[Vi>>2]=ki;return ki}q[Vi>>2]=Yi;return Yi+4|0}return ph(a,Vi,Xi)}Yi=cm(Zi,bj,_i);if(Yi){break c}}if(dj){break b}break a}if((Yi|0)>-1){break a}}bj=ki+4|0;_i=q[bj>>2];l:{if(_i){Yi=_i;while(1){Wi=Yi;Yi=q[Yi>>2];if(Yi){continue}break}break l}Wi=q[ki+8>>2];if(q[Wi>>2]==(ki|0)){break l}Yi=ki+8|0;while(1){Zi=q[Yi>>2];Yi=Zi+8|0;Wi=q[Zi+8>>2];if((Zi|0)!=q[Wi>>2]){continue}break}}m:{n:{if((Wi|0)==(ej|0)){break n}Zi=r[Wi+27|0];Yi=Zi<<24>>24<0;o:{Zi=Yi?q[Wi+20>>2]:Zi;cj=Zi>>>0<$i>>>0?Zi:$i;if(cj){dj=(aj|0)<0?q[Xi>>2]:Xi;aj=Wi+16|0;Yi=cm(dj,Yi?q[aj>>2]:aj,cj);if(Yi){break o}}if($i>>>0>>0){break n}break m}if((Yi|0)>-1){break m}}if(!_i){q[Vi>>2]=ki;return bj}q[Vi>>2]=Wi;return Wi}return ph(a,Vi,Xi)}q[Vi>>2]=ki;q[Wi>>2]=ki;return Wi}function ph(a,ki,Vi){var Wi=0,Xi=0,hj=0,ij=0,jj=0,kj=0,lj=0,mj=0,nj=0;a:{Wi=a+4|0;a=q[Wi>>2];if(a){hj=r[Vi+11|0];ij=hj<<24>>24<0;hj=ij?q[Vi+4>>2]:hj;lj=ij?q[Vi>>2]:Vi;while(1){Vi=a+16|0;Xi=r[a+27|0];ij=Xi<<24>>24<0;jj=ij?q[a+20>>2]:Xi;mj=jj>>>0>>0;b:{c:{d:{e:{f:{g:{h:{Xi=mj?jj:hj;if(Xi){kj=ij?q[Vi>>2]:Vi;nj=cm(lj,kj,Xi);if(nj){break h}}if(hj>>>0>>0){break g}if(!Xi){break e}kj=ij?q[Vi>>2]:Vi;break f}if((nj|0)>-1){break f}}Vi=q[a>>2];if(Vi){break b}q[ki>>2]=a;return a}Vi=cm(kj,lj,Xi);if(Vi){break d}}if(mj){break c}break a}if((Vi|0)>-1){break a}}Wi=a+4|0;Vi=q[a+4>>2];if(!Vi){break a}a=Wi}Wi=a;a=Vi;continue}}q[ki>>2]=Wi;return Wi}q[ki>>2]=a;return Wi}function qh(a,ki,Vi,oj){var pj=0,qj=0,rj=0,sj=0,tj=0;if(!a){return 1}pj=q[Vi+16>>2];sj=q[Vi+12>>2];rj=q[Vi+20>>2];qj=rj;a:{if((sj|0)<(qj|0)?1:(sj|0)<=(qj|0)?t[Vi+8>>2]>pj>>>0?0:1:0){break a}qj=r[pj+q[Vi>>2]|0];pj=pj+1|0;if(pj>>>0<1){rj=rj+1|0}q[Vi+16>>2]=pj;q[Vi+20>>2]=rj;if(qj>>>0>1){break a}if(qj-1){return rh(a,ki,Vi,oj)}tj=sh(a,Vi,oj)}return tj}function rh(a,ki,Vi,oj){var uj=0,vj=0,wj=0,xj=0,yj=0,zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Hj=0,Ij=0,Jj=0;uj=T+ -64|0;T=uj;q[uj+56>>2]=0;q[uj+48>>2]=0;q[uj+52>>2]=0;q[uj+40>>2]=0;q[uj+44>>2]=0;q[uj+32>>2]=0;q[uj+36>>2]=0;q[uj+24>>2]=0;q[uj+28>>2]=0;q[uj+16>>2]=0;q[uj+20>>2]=0;q[uj+8>>2]=0;q[uj+12>>2]=0;a:{if(!th(uj+8|0,Vi)){break a}if(!uh(uj+8|0,Vi)|(q[uj+20>>2]?0:a)){break a}_j(Vi,0,0);if(a){xj=q[uj+56>>2];Fj=q[uj+36>>2];Gj=q[uj+48>>2];Hj=q[uj+24>>2];while(1){b:{if(xj>>>0>16383){break b}vj=q[uj+52>>2];while(1){if((vj|0)<1){break b}vj=vj+ -1|0;q[uj+52>>2]=vj;xj=r[vj+Gj|0]|xj<<8;q[uj+56>>2]=xj;if(xj>>>0<16384){continue}break}}wj=xj&4095;Dj=q[(wj<<2)+Hj>>2];yj=(Dj<<3)+Fj|0;xj=(w(q[yj>>2],xj>>>12)+wj|0)-q[yj+4>>2]|0;q[uj+56>>2]=xj;if((ki|0)>=1){if(!r[Vi+36|0]){wj=0;break a}yj=ki+zj|0;while(1){c:{if((Dj|0)<1){Bj=0;break c}wj=q[Vi+32>>2];Ij=q[Vi+28>>2];Jj=q[Vi+24>>2];vj=0;Bj=0;while(1){Aj=(wj>>>3)+Jj|0;d:{if(Aj>>>0>=Ij>>>0){Cj=0;break d}Cj=r[Aj|0];Aj=wj+1|0;q[Vi+32>>2]=Aj;Cj=Cj>>>(wj&7)&1;wj=Aj}Bj=Cj<>2]=Bj;zj=zj+1|0;if((yj|0)!=(zj|0)){continue}break}zj=yj}Ej=ki+Ej|0;if(Ej>>>0>>0){continue}break}}ak(Vi);wj=1}a=q[uj+36>>2];if(a){q[uj+40>>2]=a;An(a)}a=q[uj+24>>2];if(a){q[uj+28>>2]=a;An(a)}a=q[uj+8>>2];if(a){q[uj+12>>2]=a;An(a)}T=uj- -64|0;return wj}function sh(a,ki,Vi){var oj=0,Kj=0,Lj=0,Mj=0;a:{b:{Kj=q[ki+16>>2];Lj=q[ki+12>>2];oj=q[ki+20>>2];c:{if((Lj|0)<(oj|0)?1:(Lj|0)<=(oj|0)?t[ki+8>>2]>Kj>>>0?0:1:0){break c}Lj=r[Kj+q[ki>>2]|0];Kj=Kj+1|0;if(Kj>>>0<1){oj=oj+1|0}q[ki+16>>2]=Kj;q[ki+20>>2]=oj;oj=Lj+ -1|0;if(oj>>>0>17){break c}d:{e:{switch(oj-1|0){case 7:return wh(a,ki,Vi);case 8:return xh(a,ki,Vi);case 9:return yh(a,ki,Vi);case 10:return zh(a,ki,Vi);case 12:case 13:case 14:case 15:break a;case 16:break d;case 11:break e;default:break b}}return Ah(a,ki,Vi)}Mj=Bh(a,ki,Vi)}return Mj}return vh(a,ki,Vi)}return Bh(a,ki,Vi)}function th(a,ki){var Vi=0,Nj=0,Oj=0,Pj=0,Qj=0,Rj=0,Sj=0,Tj=0,Uj=0,Vj=0,Wj=0,Xj=0,Yj=0;a:{Vi=s[ki+38>>1];if(!Vi){break a}Sj=a+12|0;b:{if(Vi>>>0<=511){Nj=q[ki+12>>2];Vi=q[ki+20>>2];Oj=q[ki+16>>2];Qj=Oj+4|0;if(Qj>>>0<4){Vi=Vi+1|0}if((Nj|0)<(Vi|0)?1:(Nj|0)<=(Vi|0)?t[ki+8>>2]>=Qj>>>0?0:1:0){break a}Vi=Oj+q[ki>>2]|0;Oj=r[Vi|0]|r[Vi+1|0]<<8|(r[Vi+2|0]<<16|r[Vi+3|0]<<24);q[Sj>>2]=Oj;Nj=q[ki+20>>2];Qj=q[ki+16>>2]+4|0;if(Qj>>>0<4){Nj=Nj+1|0}Vi=ki;q[Vi+16>>2]=Qj;q[Vi+20>>2]=Nj;break b}if(!Ch(1,Sj,ki)){break a}Oj=q[Sj>>2]}Nj=q[a>>2];Vi=q[a+4>>2]-Nj>>2;c:{if(Oj>>>0>Vi>>>0){Fa(a,Oj-Vi|0);Oj=q[a+12>>2];break c}if(Oj>>>0>=Vi>>>0){break c}q[a+4>>2]=Nj+(Oj<<2)}if(!Oj){Yj=1;break a}Wj=q[ki+8>>2];Qj=q[ki+12>>2];while(1){Pj=q[ki+16>>2];Vi=q[ki+20>>2];if((Qj|0)<(Vi|0)?1:(Qj|0)<=(Vi|0)?Wj>>>0>Pj>>>0?0:1:0){break a}Xj=q[ki>>2];Tj=r[Xj+Pj|0];Pj=Pj+1|0;if(Pj>>>0<1){Vi=Vi+1|0}q[ki+16>>2]=Pj;q[ki+20>>2]=Vi;Uj=Tj>>>2;d:{e:{f:{Vj=Tj&3;if(Vj>>>0>3){Nj=0;break f}Nj=0;g:{switch(Vj-1|0){case 0:case 1:break f;case 2:break g;default:break e}}Vi=Rj+Uj|0;if(Vi>>>0>=Oj>>>0){return 0}Dn(q[a>>2]+(Rj<<2)|0,0,(Tj&252)+4|0);Rj=Vi;break d}while(1){if((Qj|0)<(Vi|0)?1:(Qj|0)<=(Vi|0)?Wj>>>0>Pj>>>0?0:1:0){return 0}Tj=r[Pj+Xj|0];Pj=Pj+1|0;if(Pj>>>0<1){Vi=Vi+1|0}q[ki+16>>2]=Pj;q[ki+20>>2]=Vi;Uj=Tj<<(Nj<<3|6)|Uj;Nj=Nj+1|0;if((Vj|0)!=(Nj|0)){continue}break}}q[q[a>>2]+(Rj<<2)>>2]=Uj}Rj=Rj+1|0;Oj=q[Sj>>2];if(Rj>>>0>>0){continue}break}Rj=a+16|0;Sj=q[a>>2];ki=q[a+16>>2];Vi=q[a+20>>2]-ki|0;Nj=Vi>>2;h:{if(Nj>>>0<=4095){Fa(Rj,4096-Nj|0);break h}if((Vi|0)==16384){break h}q[a+20>>2]=ki+16384}i:{ki=a+28|0;Vi=q[ki>>2];Nj=q[a+32>>2]-Vi>>3;if(Oj>>>0>Nj>>>0){Dh(ki,Oj-Nj|0);Vi=q[ki>>2];break i}if(Oj>>>0>>0){q[a+32>>2]=(Oj<<3)+Vi}if(Oj){break i}return 0}ki=0;Nj=0;while(1){a=Sj+(ki<<2)|0;Qj=q[a>>2];Pj=(ki<<3)+Vi|0;q[Pj+4>>2]=Nj;q[Pj>>2]=Qj;a=q[a>>2]+Nj|0;if(a>>>0>4096){break a}if(Nj>>>0>>0){Qj=q[Rj>>2];while(1){q[Qj+(Nj<<2)>>2]=ki;Nj=Nj+1|0;if((a|0)!=(Nj|0)){continue}break}}Nj=a;ki=ki+1|0;if((Oj|0)!=(ki|0)){continue}break}return(a|0)==4096}return Yj}function uh(a,ki){var Zj=0,_j=0,$j=0,ak=0,bk=0,ck=0,dk=0,ek=0,fk=0;bk=T-16|0;T=bk;a:{b:{if(s[ki+38>>1]<=511){_j=q[ki+12>>2];ek=_j;Zj=q[ki+20>>2];$j=q[ki+16>>2];ak=$j+8|0;if(ak>>>0<8){Zj=Zj+1|0}ck=q[ki+8>>2];if((_j|0)<(Zj|0)?1:(_j|0)<=(Zj|0)?ck>>>0>=ak>>>0?0:1:0){break a}_j=$j+q[ki>>2]|0;$j=r[_j+4|0]|r[_j+5|0]<<8|(r[_j+6|0]<<16|r[_j+7|0]<<24);_j=r[_j|0]|r[_j+1|0]<<8|(r[_j+2|0]<<16|r[_j+3|0]<<24);q[bk+8>>2]=_j;q[bk+12>>2]=$j;q[ki+16>>2]=ak;q[ki+20>>2]=Zj;break b}if(!Eh(1,bk+8|0,ki)){break a}ak=q[ki+16>>2];Zj=q[ki+20>>2];ck=q[ki+8>>2];ek=q[ki+12>>2];_j=q[bk+8>>2];$j=q[bk+12>>2]}dk=ck-ak|0;ck=ek-(Zj+(ck>>>0>>0)|0)|0;if((ck|0)==($j|0)&_j>>>0>dk>>>0|$j>>>0>ck>>>0){break a}$j=Zj+$j|0;Zj=ak;dk=Zj+_j|0;if(dk>>>0>>0){$j=$j+1|0}q[ki+16>>2]=dk;q[ki+20>>2]=$j;Zj=_j;if((Zj|0)<1){break a}ak=ak+q[ki>>2]|0;q[a+40>>2]=ak;ki=a;c:{d:{e:{f:{g:{_j=Zj+ -1|0;$j=ak+_j|0;switch((r[$j|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=_j;a=r[$j|0]&63;break c}if((Zj|0)<2){break a}q[a+44>>2]=Zj+ -2;a=(Zj+ak|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((Zj|0)<3){break a}q[a+44>>2]=Zj+ -3;a=(Zj+ak|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=Zj+ -4;a=(Zj+ak|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+16384|0;q[ki+48>>2]=a;fk=a>>>0<4194304}T=bk+16|0;return fk}function vh(a,ki,gk){var hk=0,ik=0,jk=0,kk=0,lk=0,mk=0,nk=0,ok=0;hk=T+ -64|0;T=hk;q[hk+56>>2]=0;q[hk+48>>2]=0;q[hk+52>>2]=0;q[hk+40>>2]=0;q[hk+44>>2]=0;q[hk+32>>2]=0;q[hk+36>>2]=0;q[hk+24>>2]=0;q[hk+28>>2]=0;q[hk+16>>2]=0;q[hk+20>>2]=0;q[hk+8>>2]=0;q[hk+12>>2]=0;a:{if(!th(hk+8|0,ki)|(q[hk+20>>2]?0:a)){break a}ik=uh(hk+8|0,ki);if(!a|!ik){break a}ki=q[hk+56>>2];mk=q[hk+36>>2];nk=q[hk+48>>2];ok=q[hk+24>>2];while(1){b:{if(ki>>>0>16383){break b}ik=q[hk+52>>2];while(1){if((ik|0)<1){break b}ik=ik+ -1|0;q[hk+52>>2]=ik;ki=r[ik+nk|0]|ki<<8;q[hk+56>>2]=ki;if(ki>>>0<16384){continue}break}}ik=ki&4095;kk=q[(ik<<2)+ok>>2];lk=(kk<<3)+mk|0;ki=(w(q[lk>>2],ki>>>12)+ik|0)-q[lk+4>>2]|0;q[hk+56>>2]=ki;q[(jk<<2)+gk>>2]=kk;ik=1;jk=jk+1|0;if((jk|0)!=(a|0)){continue}break}}a=q[hk+36>>2];if(a){q[hk+40>>2]=a;An(a)}a=q[hk+24>>2];if(a){q[hk+28>>2]=a;An(a)}a=q[hk+8>>2];if(a){q[hk+12>>2]=a;An(a)}T=hk- -64|0;return ik}function wh(a,ki,gk){var pk=0,qk=0,rk=0,sk=0,tk=0,uk=0,vk=0,wk=0;pk=T+ -64|0;T=pk;q[pk+56>>2]=0;q[pk+48>>2]=0;q[pk+52>>2]=0;q[pk+40>>2]=0;q[pk+44>>2]=0;q[pk+32>>2]=0;q[pk+36>>2]=0;q[pk+24>>2]=0;q[pk+28>>2]=0;q[pk+16>>2]=0;q[pk+20>>2]=0;q[pk+8>>2]=0;q[pk+12>>2]=0;a:{if(!Fh(pk+8|0,ki)|(q[pk+20>>2]?0:a)){break a}qk=Gh(pk+8|0,ki);if(!a|!qk){break a}ki=q[pk+56>>2];uk=q[pk+36>>2];vk=q[pk+48>>2];wk=q[pk+24>>2];while(1){b:{if(ki>>>0>32767){break b}qk=q[pk+52>>2];while(1){if((qk|0)<1){break b}qk=qk+ -1|0;q[pk+52>>2]=qk;ki=r[qk+vk|0]|ki<<8;q[pk+56>>2]=ki;if(ki>>>0<32768){continue}break}}qk=ki&8191;sk=q[(qk<<2)+wk>>2];tk=(sk<<3)+uk|0;ki=(w(q[tk>>2],ki>>>13)+qk|0)-q[tk+4>>2]|0;q[pk+56>>2]=ki;q[(rk<<2)+gk>>2]=sk;qk=1;rk=rk+1|0;if((rk|0)!=(a|0)){continue}break}}a=q[pk+36>>2];if(a){q[pk+40>>2]=a;An(a)}a=q[pk+24>>2];if(a){q[pk+28>>2]=a;An(a)}a=q[pk+8>>2];if(a){q[pk+12>>2]=a;An(a)}T=pk- -64|0;return qk}function xh(a,ki,gk){var xk=0,yk=0,zk=0,Ak=0,Bk=0,Ck=0,Dk=0,Ek=0;xk=T+ -64|0;T=xk;q[xk+56>>2]=0;q[xk+48>>2]=0;q[xk+52>>2]=0;q[xk+40>>2]=0;q[xk+44>>2]=0;q[xk+32>>2]=0;q[xk+36>>2]=0;q[xk+24>>2]=0;q[xk+28>>2]=0;q[xk+16>>2]=0;q[xk+20>>2]=0;q[xk+8>>2]=0;q[xk+12>>2]=0;a:{if(!Hh(xk+8|0,ki)|(q[xk+20>>2]?0:a)){break a}yk=Ih(xk+8|0,ki);if(!a|!yk){break a}ki=q[xk+56>>2];Ck=q[xk+36>>2];Dk=q[xk+48>>2];Ek=q[xk+24>>2];while(1){b:{if(ki>>>0>131071){break b}yk=q[xk+52>>2];while(1){if((yk|0)<1){break b}yk=yk+ -1|0;q[xk+52>>2]=yk;ki=r[yk+Dk|0]|ki<<8;q[xk+56>>2]=ki;if(ki>>>0<131072){continue}break}}yk=ki&32767;Ak=q[(yk<<2)+Ek>>2];Bk=(Ak<<3)+Ck|0;ki=(w(q[Bk>>2],ki>>>15)+yk|0)-q[Bk+4>>2]|0;q[xk+56>>2]=ki;q[(zk<<2)+gk>>2]=Ak;yk=1;zk=zk+1|0;if((zk|0)!=(a|0)){continue}break}}a=q[xk+36>>2];if(a){q[xk+40>>2]=a;An(a)}a=q[xk+24>>2];if(a){q[xk+28>>2]=a;An(a)}a=q[xk+8>>2];if(a){q[xk+12>>2]=a;An(a)}T=xk- -64|0;return yk}function yh(a,ki,gk){var Fk=0,Gk=0,Hk=0,Ik=0,Jk=0,Kk=0,Lk=0,Mk=0;Fk=T+ -64|0;T=Fk;q[Fk+56>>2]=0;q[Fk+48>>2]=0;q[Fk+52>>2]=0;q[Fk+40>>2]=0;q[Fk+44>>2]=0;q[Fk+32>>2]=0;q[Fk+36>>2]=0;q[Fk+24>>2]=0;q[Fk+28>>2]=0;q[Fk+16>>2]=0;q[Fk+20>>2]=0;q[Fk+8>>2]=0;q[Fk+12>>2]=0;a:{if(!Jh(Fk+8|0,ki)|(q[Fk+20>>2]?0:a)){break a}Gk=Kh(Fk+8|0,ki);if(!a|!Gk){break a}ki=q[Fk+56>>2];Kk=q[Fk+36>>2];Lk=q[Fk+48>>2];Mk=q[Fk+24>>2];while(1){b:{if(ki>>>0>262143){break b}Gk=q[Fk+52>>2];while(1){if((Gk|0)<1){break b}Gk=Gk+ -1|0;q[Fk+52>>2]=Gk;ki=r[Gk+Lk|0]|ki<<8;q[Fk+56>>2]=ki;if(ki>>>0<262144){continue}break}}Gk=ki&65535;Ik=q[(Gk<<2)+Mk>>2];Jk=(Ik<<3)+Kk|0;ki=(w(q[Jk>>2],ki>>>16)+Gk|0)-q[Jk+4>>2]|0;q[Fk+56>>2]=ki;q[(Hk<<2)+gk>>2]=Ik;Gk=1;Hk=Hk+1|0;if((Hk|0)!=(a|0)){continue}break}}a=q[Fk+36>>2];if(a){q[Fk+40>>2]=a;An(a)}a=q[Fk+24>>2];if(a){q[Fk+28>>2]=a;An(a)}a=q[Fk+8>>2];if(a){q[Fk+12>>2]=a;An(a)}T=Fk- -64|0;return Gk}function zh(a,ki,gk){var Nk=0,Ok=0,Pk=0,Qk=0,Rk=0,Sk=0,Tk=0,Uk=0;Nk=T+ -64|0;T=Nk;q[Nk+56>>2]=0;q[Nk+48>>2]=0;q[Nk+52>>2]=0;q[Nk+40>>2]=0;q[Nk+44>>2]=0;q[Nk+32>>2]=0;q[Nk+36>>2]=0;q[Nk+24>>2]=0;q[Nk+28>>2]=0;q[Nk+16>>2]=0;q[Nk+20>>2]=0;q[Nk+8>>2]=0;q[Nk+12>>2]=0;a:{if(!Lh(Nk+8|0,ki)|(q[Nk+20>>2]?0:a)){break a}Ok=Mh(Nk+8|0,ki);if(!a|!Ok){break a}ki=q[Nk+56>>2];Sk=q[Nk+36>>2];Tk=q[Nk+48>>2];Uk=q[Nk+24>>2];while(1){b:{if(ki>>>0>1048575){break b}Ok=q[Nk+52>>2];while(1){if((Ok|0)<1){break b}Ok=Ok+ -1|0;q[Nk+52>>2]=Ok;ki=r[Ok+Tk|0]|ki<<8;q[Nk+56>>2]=ki;if(ki>>>0<1048576){continue}break}}Ok=ki&262143;Qk=q[(Ok<<2)+Uk>>2];Rk=(Qk<<3)+Sk|0;ki=(w(q[Rk>>2],ki>>>18)+Ok|0)-q[Rk+4>>2]|0;q[Nk+56>>2]=ki;q[(Pk<<2)+gk>>2]=Qk;Ok=1;Pk=Pk+1|0;if((Pk|0)!=(a|0)){continue}break}}a=q[Nk+36>>2];if(a){q[Nk+40>>2]=a;An(a)}a=q[Nk+24>>2];if(a){q[Nk+28>>2]=a;An(a)}a=q[Nk+8>>2];if(a){q[Nk+12>>2]=a;An(a)}T=Nk- -64|0;return Ok}function Ah(a,ki,gk){var Vk=0,Wk=0,Xk=0,Yk=0,Zk=0,_k=0,$k=0,al=0;Vk=T+ -64|0;T=Vk;q[Vk+56>>2]=0;q[Vk+48>>2]=0;q[Vk+52>>2]=0;q[Vk+40>>2]=0;q[Vk+44>>2]=0;q[Vk+32>>2]=0;q[Vk+36>>2]=0;q[Vk+24>>2]=0;q[Vk+28>>2]=0;q[Vk+16>>2]=0;q[Vk+20>>2]=0;q[Vk+8>>2]=0;q[Vk+12>>2]=0;a:{if(!Nh(Vk+8|0,ki)|(q[Vk+20>>2]?0:a)){break a}Wk=Oh(Vk+8|0,ki);if(!a|!Wk){break a}ki=q[Vk+56>>2];_k=q[Vk+36>>2];$k=q[Vk+48>>2];al=q[Vk+24>>2];while(1){b:{if(ki>>>0>2097151){break b}Wk=q[Vk+52>>2];while(1){if((Wk|0)<1){break b}Wk=Wk+ -1|0;q[Vk+52>>2]=Wk;ki=r[Wk+$k|0]|ki<<8;q[Vk+56>>2]=ki;if(ki>>>0<2097152){continue}break}}Wk=ki&524287;Yk=q[(Wk<<2)+al>>2];Zk=(Yk<<3)+_k|0;ki=(w(q[Zk>>2],ki>>>19)+Wk|0)-q[Zk+4>>2]|0;q[Vk+56>>2]=ki;q[(Xk<<2)+gk>>2]=Yk;Wk=1;Xk=Xk+1|0;if((Xk|0)!=(a|0)){continue}break}}a=q[Vk+36>>2];if(a){q[Vk+40>>2]=a;An(a)}a=q[Vk+24>>2];if(a){q[Vk+28>>2]=a;An(a)}a=q[Vk+8>>2];if(a){q[Vk+12>>2]=a;An(a)}T=Vk- -64|0;return Wk}function Bh(a,ki,gk){var bl=0,cl=0,dl=0,el=0,fl=0,gl=0,hl=0,il=0;bl=T+ -64|0;T=bl;q[bl+56>>2]=0;q[bl+48>>2]=0;q[bl+52>>2]=0;q[bl+40>>2]=0;q[bl+44>>2]=0;q[bl+32>>2]=0;q[bl+36>>2]=0;q[bl+24>>2]=0;q[bl+28>>2]=0;q[bl+16>>2]=0;q[bl+20>>2]=0;q[bl+8>>2]=0;q[bl+12>>2]=0;a:{if(!Ph(bl+8|0,ki)|(q[bl+20>>2]?0:a)){break a}cl=Qh(bl+8|0,ki);if(!a|!cl){break a}ki=q[bl+56>>2];gl=q[bl+36>>2];hl=q[bl+48>>2];il=q[bl+24>>2];while(1){b:{if(ki>>>0>4194303){break b}cl=q[bl+52>>2];while(1){if((cl|0)<1){break b}cl=cl+ -1|0;q[bl+52>>2]=cl;ki=r[cl+hl|0]|ki<<8;q[bl+56>>2]=ki;if(ki>>>0<4194304){continue}break}}cl=ki&1048575;el=q[(cl<<2)+il>>2];fl=(el<<3)+gl|0;ki=(w(q[fl>>2],ki>>>20)+cl|0)-q[fl+4>>2]|0;q[bl+56>>2]=ki;q[(dl<<2)+gk>>2]=el;cl=1;dl=dl+1|0;if((dl|0)!=(a|0)){continue}break}}a=q[bl+36>>2];if(a){q[bl+40>>2]=a;An(a)}a=q[bl+24>>2];if(a){q[bl+28>>2]=a;An(a)}a=q[bl+8>>2];if(a){q[bl+12>>2]=a;An(a)}T=bl- -64|0;return cl}function Ch(a,ki,gk){var jl=0,kl=0,ll=0,ml=0;a:{if(a>>>0>5){break a}ll=q[gk+16>>2];jl=q[gk+12>>2];kl=q[gk+20>>2];if((jl|0)<(kl|0)?1:(jl|0)<=(kl|0)?t[gk+8>>2]>ll>>>0?0:1:0){break a}jl=r[ll+q[gk>>2]|0];ll=ll+1|0;if(ll>>>0<1){kl=kl+1|0}q[gk+16>>2]=ll;q[gk+20>>2]=kl;kl=ki;if(jl&128){if(!Ch(a+1|0,ki,gk)){break a}a=q[ki>>2]<<7;q[ki>>2]=a;jl=a|jl&127}q[kl>>2]=jl;ml=1}return ml}function Dh(a,ki){var gk=0,nl=0,ol=0,pl=0,ql=0,rl=0,sl=0;a:{b:{ol=q[a+8>>2];gk=a+4|0;nl=q[gk>>2];c:{if(ol-nl>>3>>>0>=ki>>>0){while(1){q[nl>>2]=0;q[nl+4>>2]=0;nl=q[gk>>2]+8|0;q[gk>>2]=nl;ki=ki+ -1|0;if(ki){continue}break c}}pl=q[a>>2];ql=nl-pl|0;gk=ql>>3;nl=gk+ki|0;if(nl>>>0>=536870912){break b}sl=gk<<3;ol=ol-pl|0;gk=ol>>2;ol=ol>>3>>>0<268435455?gk>>>0>>0?nl:gk:536870911;gk=0;d:{if(!ol){break d}if(ol>>>0>=536870912){break a}rl=Mm(ol<<3);gk=rl}nl=sl+gk|0;Dn(nl,0,ki<<3);ol=gk+(ol<<3)|0;while(1){nl=nl+8|0;ki=ki+ -1|0;if(ki){continue}break}if((ql|0)>=1){Cn(rl,pl,ql)}q[a>>2]=gk;q[a+8>>2]=ol;q[a+4>>2]=nl;if(!pl){break c}An(pl)}return}bn();F()}ab(10991);F()}function Eh(a,ki,tl){var ul=0,vl=0,wl=0,xl=0,yl=0,zl=0;a:{if(a>>>0>10){break a}wl=q[tl+16>>2];ul=q[tl+12>>2];vl=q[tl+20>>2];xl=vl;if((ul|0)<(xl|0)?1:(ul|0)<=(xl|0)?t[tl+8>>2]>wl>>>0?0:1:0){break a}yl=o[wl+q[tl>>2]|0];ul=wl+1|0;if(ul>>>0<1){vl=vl+1|0}q[tl+16>>2]=ul;q[tl+20>>2]=vl;xl=ki;wl=ki;ul=yl;b:{if((ul|0)<=-1){if(!Eh(a+1|0,ki,tl)){break a}a=ki;tl=q[ki+4>>2];ki=q[ki>>2];vl=tl<<7|ki>>>25;ki=ki<<7;q[a>>2]=ki;q[a+4>>2]=vl;a=ul&127|ki;break b}vl=0;a=ul&255}q[wl>>2]=a;q[xl+4>>2]=vl;zl=1}return zl}function Fh(a,ki){var tl=0,Al=0,Bl=0,Cl=0,Dl=0,El=0,Fl=0,Gl=0,Hl=0,Il=0,Jl=0,Kl=0,Ll=0;a:{tl=s[ki+38>>1];if(!tl){break a}Fl=a+12|0;b:{if(tl>>>0<=511){Al=q[ki+12>>2];tl=q[ki+20>>2];Bl=q[ki+16>>2];Dl=Bl+4|0;if(Dl>>>0<4){tl=tl+1|0}if((Al|0)<(tl|0)?1:(Al|0)<=(tl|0)?t[ki+8>>2]>=Dl>>>0?0:1:0){break a}tl=Bl+q[ki>>2]|0;Bl=r[tl|0]|r[tl+1|0]<<8|(r[tl+2|0]<<16|r[tl+3|0]<<24);q[Fl>>2]=Bl;Al=q[ki+20>>2];Dl=q[ki+16>>2]+4|0;if(Dl>>>0<4){Al=Al+1|0}tl=ki;q[tl+16>>2]=Dl;q[tl+20>>2]=Al;break b}if(!Ch(1,Fl,ki)){break a}Bl=q[Fl>>2]}Al=q[a>>2];tl=q[a+4>>2]-Al>>2;c:{if(Bl>>>0>tl>>>0){Fa(a,Bl-tl|0);Bl=q[a+12>>2];break c}if(Bl>>>0>=tl>>>0){break c}q[a+4>>2]=Al+(Bl<<2)}if(!Bl){Ll=1;break a}Jl=q[ki+8>>2];Dl=q[ki+12>>2];while(1){Cl=q[ki+16>>2];tl=q[ki+20>>2];if((Dl|0)<(tl|0)?1:(Dl|0)<=(tl|0)?Jl>>>0>Cl>>>0?0:1:0){break a}Kl=q[ki>>2];Gl=r[Kl+Cl|0];Cl=Cl+1|0;if(Cl>>>0<1){tl=tl+1|0}q[ki+16>>2]=Cl;q[ki+20>>2]=tl;Hl=Gl>>>2;d:{e:{f:{Il=Gl&3;if(Il>>>0>3){Al=0;break f}Al=0;g:{switch(Il-1|0){case 0:case 1:break f;case 2:break g;default:break e}}tl=El+Hl|0;if(tl>>>0>=Bl>>>0){return 0}Dn(q[a>>2]+(El<<2)|0,0,(Gl&252)+4|0);El=tl;break d}while(1){if((Dl|0)<(tl|0)?1:(Dl|0)<=(tl|0)?Jl>>>0>Cl>>>0?0:1:0){return 0}Gl=r[Cl+Kl|0];Cl=Cl+1|0;if(Cl>>>0<1){tl=tl+1|0}q[ki+16>>2]=Cl;q[ki+20>>2]=tl;Hl=Gl<<(Al<<3|6)|Hl;Al=Al+1|0;if((Il|0)!=(Al|0)){continue}break}}q[q[a>>2]+(El<<2)>>2]=Hl}El=El+1|0;Bl=q[Fl>>2];if(El>>>0>>0){continue}break}El=a+16|0;Fl=q[a>>2];ki=q[a+16>>2];tl=q[a+20>>2]-ki|0;Al=tl>>2;h:{if(Al>>>0<=8191){Fa(El,8192-Al|0);break h}if((tl|0)==32768){break h}q[a+20>>2]=ki+32768}i:{ki=a+28|0;tl=q[ki>>2];Al=q[a+32>>2]-tl>>3;if(Bl>>>0>Al>>>0){Dh(ki,Bl-Al|0);tl=q[ki>>2];break i}if(Bl>>>0>>0){q[a+32>>2]=(Bl<<3)+tl}if(Bl){break i}return 0}ki=0;Al=0;while(1){a=Fl+(ki<<2)|0;Dl=q[a>>2];Cl=(ki<<3)+tl|0;q[Cl+4>>2]=Al;q[Cl>>2]=Dl;a=q[a>>2]+Al|0;if(a>>>0>8192){break a}if(Al>>>0>>0){Dl=q[El>>2];while(1){q[Dl+(Al<<2)>>2]=ki;Al=Al+1|0;if((a|0)!=(Al|0)){continue}break}}Al=a;ki=ki+1|0;if((Bl|0)!=(ki|0)){continue}break}return(a|0)==8192}return Ll}function Gh(a,ki){var Ml=0,Nl=0,Ol=0,Pl=0,Ql=0,Rl=0,Sl=0,Tl=0,Ul=0;Ql=T-16|0;T=Ql;a:{b:{if(s[ki+38>>1]<=511){Nl=q[ki+12>>2];Tl=Nl;Ml=q[ki+20>>2];Ol=q[ki+16>>2];Pl=Ol+8|0;if(Pl>>>0<8){Ml=Ml+1|0}Rl=q[ki+8>>2];if((Nl|0)<(Ml|0)?1:(Nl|0)<=(Ml|0)?Rl>>>0>=Pl>>>0?0:1:0){break a}Nl=Ol+q[ki>>2]|0;Ol=r[Nl+4|0]|r[Nl+5|0]<<8|(r[Nl+6|0]<<16|r[Nl+7|0]<<24);Nl=r[Nl|0]|r[Nl+1|0]<<8|(r[Nl+2|0]<<16|r[Nl+3|0]<<24);q[Ql+8>>2]=Nl;q[Ql+12>>2]=Ol;q[ki+16>>2]=Pl;q[ki+20>>2]=Ml;break b}if(!Eh(1,Ql+8|0,ki)){break a}Pl=q[ki+16>>2];Ml=q[ki+20>>2];Rl=q[ki+8>>2];Tl=q[ki+12>>2];Nl=q[Ql+8>>2];Ol=q[Ql+12>>2]}Sl=Rl-Pl|0;Rl=Tl-(Ml+(Rl>>>0>>0)|0)|0;if((Rl|0)==(Ol|0)&Nl>>>0>Sl>>>0|Ol>>>0>Rl>>>0){break a}Ol=Ml+Ol|0;Ml=Pl;Sl=Ml+Nl|0;if(Sl>>>0>>0){Ol=Ol+1|0}q[ki+16>>2]=Sl;q[ki+20>>2]=Ol;Ml=Nl;if((Ml|0)<1){break a}Pl=Pl+q[ki>>2]|0;q[a+40>>2]=Pl;ki=a;c:{d:{e:{f:{g:{Nl=Ml+ -1|0;Ol=Pl+Nl|0;switch((r[Ol|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=Nl;a=r[Ol|0]&63;break c}if((Ml|0)<2){break a}q[a+44>>2]=Ml+ -2;a=(Ml+Pl|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((Ml|0)<3){break a}q[a+44>>2]=Ml+ -3;a=(Ml+Pl|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=Ml+ -4;a=(Ml+Pl|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+32768|0;q[ki+48>>2]=a;Ul=a>>>0<8388608}T=Ql+16|0;return Ul}function Hh(a,ki){var Vl=0,Wl=0,Xl=0,Yl=0,Zl=0,_l=0,$l=0,am=0,bm=0,cm=0,dm=0,em=0,fm=0;a:{Vl=s[ki+38>>1];if(!Vl){break a}$l=a+12|0;b:{if(Vl>>>0<=511){Wl=q[ki+12>>2];Vl=q[ki+20>>2];Xl=q[ki+16>>2];Zl=Xl+4|0;if(Zl>>>0<4){Vl=Vl+1|0}if((Wl|0)<(Vl|0)?1:(Wl|0)<=(Vl|0)?t[ki+8>>2]>=Zl>>>0?0:1:0){break a}Vl=Xl+q[ki>>2]|0;Xl=r[Vl|0]|r[Vl+1|0]<<8|(r[Vl+2|0]<<16|r[Vl+3|0]<<24);q[$l>>2]=Xl;Wl=q[ki+20>>2];Zl=q[ki+16>>2]+4|0;if(Zl>>>0<4){Wl=Wl+1|0}Vl=ki;q[Vl+16>>2]=Zl;q[Vl+20>>2]=Wl;break b}if(!Ch(1,$l,ki)){break a}Xl=q[$l>>2]}Wl=q[a>>2];Vl=q[a+4>>2]-Wl>>2;c:{if(Xl>>>0>Vl>>>0){Fa(a,Xl-Vl|0);Xl=q[a+12>>2];break c}if(Xl>>>0>=Vl>>>0){break c}q[a+4>>2]=Wl+(Xl<<2)}if(!Xl){fm=1;break a}dm=q[ki+8>>2];Zl=q[ki+12>>2];while(1){Yl=q[ki+16>>2];Vl=q[ki+20>>2];if((Zl|0)<(Vl|0)?1:(Zl|0)<=(Vl|0)?dm>>>0>Yl>>>0?0:1:0){break a}em=q[ki>>2];am=r[em+Yl|0];Yl=Yl+1|0;if(Yl>>>0<1){Vl=Vl+1|0}q[ki+16>>2]=Yl;q[ki+20>>2]=Vl;bm=am>>>2;d:{e:{f:{cm=am&3;if(cm>>>0>3){Wl=0;break f}Wl=0;g:{switch(cm-1|0){case 0:case 1:break f;case 2:break g;default:break e}}Vl=_l+bm|0;if(Vl>>>0>=Xl>>>0){return 0}Dn(q[a>>2]+(_l<<2)|0,0,(am&252)+4|0);_l=Vl;break d}while(1){if((Zl|0)<(Vl|0)?1:(Zl|0)<=(Vl|0)?dm>>>0>Yl>>>0?0:1:0){return 0}am=r[Yl+em|0];Yl=Yl+1|0;if(Yl>>>0<1){Vl=Vl+1|0}q[ki+16>>2]=Yl;q[ki+20>>2]=Vl;bm=am<<(Wl<<3|6)|bm;Wl=Wl+1|0;if((cm|0)!=(Wl|0)){continue}break}}q[q[a>>2]+(_l<<2)>>2]=bm}_l=_l+1|0;Xl=q[$l>>2];if(_l>>>0>>0){continue}break}_l=a+16|0;$l=q[a>>2];ki=q[a+16>>2];Vl=q[a+20>>2]-ki|0;Wl=Vl>>2;h:{if(Wl>>>0<=32767){Fa(_l,32768-Wl|0);break h}if((Vl|0)==131072){break h}q[a+20>>2]=ki+131072}i:{ki=a+28|0;Vl=q[ki>>2];Wl=q[a+32>>2]-Vl>>3;if(Xl>>>0>Wl>>>0){Dh(ki,Xl-Wl|0);Vl=q[ki>>2];break i}if(Xl>>>0>>0){q[a+32>>2]=(Xl<<3)+Vl}if(Xl){break i}return 0}ki=0;Wl=0;while(1){a=$l+(ki<<2)|0;Zl=q[a>>2];Yl=(ki<<3)+Vl|0;q[Yl+4>>2]=Wl;q[Yl>>2]=Zl;a=q[a>>2]+Wl|0;if(a>>>0>32768){break a}if(Wl>>>0>>0){Zl=q[_l>>2];while(1){q[Zl+(Wl<<2)>>2]=ki;Wl=Wl+1|0;if((a|0)!=(Wl|0)){continue}break}}Wl=a;ki=ki+1|0;if((Xl|0)!=(ki|0)){continue}break}return(a|0)==32768}return fm}function Ih(a,ki){var gm=0,hm=0,im=0,jm=0,km=0,lm=0,mm=0,nm=0,om=0;km=T-16|0;T=km;a:{b:{if(s[ki+38>>1]<=511){hm=q[ki+12>>2];nm=hm;gm=q[ki+20>>2];im=q[ki+16>>2];jm=im+8|0;if(jm>>>0<8){gm=gm+1|0}lm=q[ki+8>>2];if((hm|0)<(gm|0)?1:(hm|0)<=(gm|0)?lm>>>0>=jm>>>0?0:1:0){break a}hm=im+q[ki>>2]|0;im=r[hm+4|0]|r[hm+5|0]<<8|(r[hm+6|0]<<16|r[hm+7|0]<<24);hm=r[hm|0]|r[hm+1|0]<<8|(r[hm+2|0]<<16|r[hm+3|0]<<24);q[km+8>>2]=hm;q[km+12>>2]=im;q[ki+16>>2]=jm;q[ki+20>>2]=gm;break b}if(!Eh(1,km+8|0,ki)){break a}jm=q[ki+16>>2];gm=q[ki+20>>2];lm=q[ki+8>>2];nm=q[ki+12>>2];hm=q[km+8>>2];im=q[km+12>>2]}mm=lm-jm|0;lm=nm-(gm+(lm>>>0>>0)|0)|0;if((lm|0)==(im|0)&hm>>>0>mm>>>0|im>>>0>lm>>>0){break a}im=gm+im|0;gm=jm;mm=gm+hm|0;if(mm>>>0>>0){im=im+1|0}q[ki+16>>2]=mm;q[ki+20>>2]=im;gm=hm;if((gm|0)<1){break a}jm=jm+q[ki>>2]|0;q[a+40>>2]=jm;ki=a;c:{d:{e:{f:{g:{hm=gm+ -1|0;im=jm+hm|0;switch((r[im|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=hm;a=r[im|0]&63;break c}if((gm|0)<2){break a}q[a+44>>2]=gm+ -2;a=(gm+jm|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((gm|0)<3){break a}q[a+44>>2]=gm+ -3;a=(gm+jm|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=gm+ -4;a=(gm+jm|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+131072|0;q[ki+48>>2]=a;om=a>>>0<33554432}T=km+16|0;return om}function Jh(a,ki){var pm=0,qm=0,rm=0,sm=0,tm=0,um=0,vm=0,wm=0,xm=0,ym=0,zm=0,Am=0,Bm=0;a:{pm=s[ki+38>>1];if(!pm){break a}vm=a+12|0;b:{if(pm>>>0<=511){qm=q[ki+12>>2];pm=q[ki+20>>2];rm=q[ki+16>>2];tm=rm+4|0;if(tm>>>0<4){pm=pm+1|0}if((qm|0)<(pm|0)?1:(qm|0)<=(pm|0)?t[ki+8>>2]>=tm>>>0?0:1:0){break a}pm=rm+q[ki>>2]|0;rm=r[pm|0]|r[pm+1|0]<<8|(r[pm+2|0]<<16|r[pm+3|0]<<24);q[vm>>2]=rm;qm=q[ki+20>>2];tm=q[ki+16>>2]+4|0;if(tm>>>0<4){qm=qm+1|0}pm=ki;q[pm+16>>2]=tm;q[pm+20>>2]=qm;break b}if(!Ch(1,vm,ki)){break a}rm=q[vm>>2]}qm=q[a>>2];pm=q[a+4>>2]-qm>>2;c:{if(rm>>>0>pm>>>0){Fa(a,rm-pm|0);rm=q[a+12>>2];break c}if(rm>>>0>=pm>>>0){break c}q[a+4>>2]=qm+(rm<<2)}if(!rm){Bm=1;break a}zm=q[ki+8>>2];tm=q[ki+12>>2];while(1){sm=q[ki+16>>2];pm=q[ki+20>>2];if((tm|0)<(pm|0)?1:(tm|0)<=(pm|0)?zm>>>0>sm>>>0?0:1:0){break a}Am=q[ki>>2];wm=r[Am+sm|0];sm=sm+1|0;if(sm>>>0<1){pm=pm+1|0}q[ki+16>>2]=sm;q[ki+20>>2]=pm;xm=wm>>>2;d:{e:{f:{ym=wm&3;if(ym>>>0>3){qm=0;break f}qm=0;g:{switch(ym-1|0){case 0:case 1:break f;case 2:break g;default:break e}}pm=um+xm|0;if(pm>>>0>=rm>>>0){return 0}Dn(q[a>>2]+(um<<2)|0,0,(wm&252)+4|0);um=pm;break d}while(1){if((tm|0)<(pm|0)?1:(tm|0)<=(pm|0)?zm>>>0>sm>>>0?0:1:0){return 0}wm=r[sm+Am|0];sm=sm+1|0;if(sm>>>0<1){pm=pm+1|0}q[ki+16>>2]=sm;q[ki+20>>2]=pm;xm=wm<<(qm<<3|6)|xm;qm=qm+1|0;if((ym|0)!=(qm|0)){continue}break}}q[q[a>>2]+(um<<2)>>2]=xm}um=um+1|0;rm=q[vm>>2];if(um>>>0>>0){continue}break}um=a+16|0;vm=q[a>>2];ki=q[a+16>>2];pm=q[a+20>>2]-ki|0;qm=pm>>2;h:{if(qm>>>0<=65535){Fa(um,65536-qm|0);break h}if((pm|0)==262144){break h}q[a+20>>2]=ki+262144}i:{ki=a+28|0;pm=q[ki>>2];qm=q[a+32>>2]-pm>>3;if(rm>>>0>qm>>>0){Dh(ki,rm-qm|0);pm=q[ki>>2];break i}if(rm>>>0>>0){q[a+32>>2]=(rm<<3)+pm}if(rm){break i}return 0}ki=0;qm=0;while(1){a=vm+(ki<<2)|0;tm=q[a>>2];sm=(ki<<3)+pm|0;q[sm+4>>2]=qm;q[sm>>2]=tm;a=q[a>>2]+qm|0;if(a>>>0>65536){break a}if(qm>>>0>>0){tm=q[um>>2];while(1){q[tm+(qm<<2)>>2]=ki;qm=qm+1|0;if((a|0)!=(qm|0)){continue}break}}qm=a;ki=ki+1|0;if((rm|0)!=(ki|0)){continue}break}return(a|0)==65536}return Bm}function Kh(a,ki){var Cm=0,Dm=0,Em=0,Fm=0,Gm=0,Hm=0,Im=0,Jm=0,Km=0;Gm=T-16|0;T=Gm;a:{b:{if(s[ki+38>>1]<=511){Dm=q[ki+12>>2];Jm=Dm;Cm=q[ki+20>>2];Em=q[ki+16>>2];Fm=Em+8|0;if(Fm>>>0<8){Cm=Cm+1|0}Hm=q[ki+8>>2];if((Dm|0)<(Cm|0)?1:(Dm|0)<=(Cm|0)?Hm>>>0>=Fm>>>0?0:1:0){break a}Dm=Em+q[ki>>2]|0;Em=r[Dm+4|0]|r[Dm+5|0]<<8|(r[Dm+6|0]<<16|r[Dm+7|0]<<24);Dm=r[Dm|0]|r[Dm+1|0]<<8|(r[Dm+2|0]<<16|r[Dm+3|0]<<24);q[Gm+8>>2]=Dm;q[Gm+12>>2]=Em;q[ki+16>>2]=Fm;q[ki+20>>2]=Cm;break b}if(!Eh(1,Gm+8|0,ki)){break a}Fm=q[ki+16>>2];Cm=q[ki+20>>2];Hm=q[ki+8>>2];Jm=q[ki+12>>2];Dm=q[Gm+8>>2];Em=q[Gm+12>>2]}Im=Hm-Fm|0;Hm=Jm-(Cm+(Hm>>>0>>0)|0)|0;if((Hm|0)==(Em|0)&Dm>>>0>Im>>>0|Em>>>0>Hm>>>0){break a}Em=Cm+Em|0;Cm=Fm;Im=Cm+Dm|0;if(Im>>>0>>0){Em=Em+1|0}q[ki+16>>2]=Im;q[ki+20>>2]=Em;Cm=Dm;if((Cm|0)<1){break a}Fm=Fm+q[ki>>2]|0;q[a+40>>2]=Fm;ki=a;c:{d:{e:{f:{g:{Dm=Cm+ -1|0;Em=Fm+Dm|0;switch((r[Em|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=Dm;a=r[Em|0]&63;break c}if((Cm|0)<2){break a}q[a+44>>2]=Cm+ -2;a=(Cm+Fm|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((Cm|0)<3){break a}q[a+44>>2]=Cm+ -3;a=(Cm+Fm|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=Cm+ -4;a=(Cm+Fm|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+262144|0;q[ki+48>>2]=a;Km=a>>>0<67108864}T=Gm+16|0;return Km}function Lh(a,ki){var Lm=0,Mm=0,Nm=0,Om=0,Pm=0,Qm=0,Rm=0,Sm=0,Tm=0,Um=0,Vm=0,Wm=0,Xm=0;a:{Lm=s[ki+38>>1];if(!Lm){break a}Rm=a+12|0;b:{if(Lm>>>0<=511){Mm=q[ki+12>>2];Lm=q[ki+20>>2];Nm=q[ki+16>>2];Pm=Nm+4|0;if(Pm>>>0<4){Lm=Lm+1|0}if((Mm|0)<(Lm|0)?1:(Mm|0)<=(Lm|0)?t[ki+8>>2]>=Pm>>>0?0:1:0){break a}Lm=Nm+q[ki>>2]|0;Nm=r[Lm|0]|r[Lm+1|0]<<8|(r[Lm+2|0]<<16|r[Lm+3|0]<<24);q[Rm>>2]=Nm;Mm=q[ki+20>>2];Pm=q[ki+16>>2]+4|0;if(Pm>>>0<4){Mm=Mm+1|0}Lm=ki;q[Lm+16>>2]=Pm;q[Lm+20>>2]=Mm;break b}if(!Ch(1,Rm,ki)){break a}Nm=q[Rm>>2]}Mm=q[a>>2];Lm=q[a+4>>2]-Mm>>2;c:{if(Nm>>>0>Lm>>>0){Fa(a,Nm-Lm|0);Nm=q[a+12>>2];break c}if(Nm>>>0>=Lm>>>0){break c}q[a+4>>2]=Mm+(Nm<<2)}if(!Nm){Xm=1;break a}Vm=q[ki+8>>2];Pm=q[ki+12>>2];while(1){Om=q[ki+16>>2];Lm=q[ki+20>>2];if((Pm|0)<(Lm|0)?1:(Pm|0)<=(Lm|0)?Vm>>>0>Om>>>0?0:1:0){break a}Wm=q[ki>>2];Sm=r[Wm+Om|0];Om=Om+1|0;if(Om>>>0<1){Lm=Lm+1|0}q[ki+16>>2]=Om;q[ki+20>>2]=Lm;Tm=Sm>>>2;d:{e:{f:{Um=Sm&3;if(Um>>>0>3){Mm=0;break f}Mm=0;g:{switch(Um-1|0){case 0:case 1:break f;case 2:break g;default:break e}}Lm=Qm+Tm|0;if(Lm>>>0>=Nm>>>0){return 0}Dn(q[a>>2]+(Qm<<2)|0,0,(Sm&252)+4|0);Qm=Lm;break d}while(1){if((Pm|0)<(Lm|0)?1:(Pm|0)<=(Lm|0)?Vm>>>0>Om>>>0?0:1:0){return 0}Sm=r[Om+Wm|0];Om=Om+1|0;if(Om>>>0<1){Lm=Lm+1|0}q[ki+16>>2]=Om;q[ki+20>>2]=Lm;Tm=Sm<<(Mm<<3|6)|Tm;Mm=Mm+1|0;if((Um|0)!=(Mm|0)){continue}break}}q[q[a>>2]+(Qm<<2)>>2]=Tm}Qm=Qm+1|0;Nm=q[Rm>>2];if(Qm>>>0>>0){continue}break}Qm=a+16|0;Rm=q[a>>2];ki=q[a+16>>2];Lm=q[a+20>>2]-ki|0;Mm=Lm>>2;h:{if(Mm>>>0<=262143){Fa(Qm,262144-Mm|0);break h}if((Lm|0)==1048576){break h}q[a+20>>2]=ki- -1048576}i:{ki=a+28|0;Lm=q[ki>>2];Mm=q[a+32>>2]-Lm>>3;if(Nm>>>0>Mm>>>0){Dh(ki,Nm-Mm|0);Lm=q[ki>>2];break i}if(Nm>>>0>>0){q[a+32>>2]=(Nm<<3)+Lm}if(Nm){break i}return 0}ki=0;Mm=0;while(1){a=Rm+(ki<<2)|0;Pm=q[a>>2];Om=(ki<<3)+Lm|0;q[Om+4>>2]=Mm;q[Om>>2]=Pm;a=q[a>>2]+Mm|0;if(a>>>0>262144){break a}if(Mm>>>0>>0){Pm=q[Qm>>2];while(1){q[Pm+(Mm<<2)>>2]=ki;Mm=Mm+1|0;if((a|0)!=(Mm|0)){continue}break}}Mm=a;ki=ki+1|0;if((Nm|0)!=(ki|0)){continue}break}return(a|0)==262144}return Xm}function Mh(a,ki){var Ym=0,Zm=0,_m=0,$m=0,an=0,bn=0,cn=0,dn=0,en=0;an=T-16|0;T=an;a:{b:{if(s[ki+38>>1]<=511){Zm=q[ki+12>>2];dn=Zm;Ym=q[ki+20>>2];_m=q[ki+16>>2];$m=_m+8|0;if($m>>>0<8){Ym=Ym+1|0}bn=q[ki+8>>2];if((Zm|0)<(Ym|0)?1:(Zm|0)<=(Ym|0)?bn>>>0>=$m>>>0?0:1:0){break a}Zm=_m+q[ki>>2]|0;_m=r[Zm+4|0]|r[Zm+5|0]<<8|(r[Zm+6|0]<<16|r[Zm+7|0]<<24);Zm=r[Zm|0]|r[Zm+1|0]<<8|(r[Zm+2|0]<<16|r[Zm+3|0]<<24);q[an+8>>2]=Zm;q[an+12>>2]=_m;q[ki+16>>2]=$m;q[ki+20>>2]=Ym;break b}if(!Eh(1,an+8|0,ki)){break a}$m=q[ki+16>>2];Ym=q[ki+20>>2];bn=q[ki+8>>2];dn=q[ki+12>>2];Zm=q[an+8>>2];_m=q[an+12>>2]}cn=bn-$m|0;bn=dn-(Ym+(bn>>>0<$m>>>0)|0)|0;if((bn|0)==(_m|0)&Zm>>>0>cn>>>0|_m>>>0>bn>>>0){break a}_m=Ym+_m|0;Ym=$m;cn=Ym+Zm|0;if(cn>>>0>>0){_m=_m+1|0}q[ki+16>>2]=cn;q[ki+20>>2]=_m;Ym=Zm;if((Ym|0)<1){break a}$m=$m+q[ki>>2]|0;q[a+40>>2]=$m;ki=a;c:{d:{e:{f:{g:{Zm=Ym+ -1|0;_m=$m+Zm|0;switch((r[_m|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=Zm;a=r[_m|0]&63;break c}if((Ym|0)<2){break a}q[a+44>>2]=Ym+ -2;a=(Ym+$m|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((Ym|0)<3){break a}q[a+44>>2]=Ym+ -3;a=(Ym+$m|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=Ym+ -4;a=(Ym+$m|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a- -1048576|0;q[ki+48>>2]=a;en=a>>>0<268435456}T=an+16|0;return en}function Nh(a,ki){var fn=0,gn=0,hn=0,jn=0,kn=0,ln=0,mn=0,nn=0,on=0,pn=0,qn=0,rn=0,sn=0;a:{fn=s[ki+38>>1];if(!fn){break a}mn=a+12|0;b:{if(fn>>>0<=511){gn=q[ki+12>>2];fn=q[ki+20>>2];hn=q[ki+16>>2];kn=hn+4|0;if(kn>>>0<4){fn=fn+1|0}if((gn|0)<(fn|0)?1:(gn|0)<=(fn|0)?t[ki+8>>2]>=kn>>>0?0:1:0){break a}fn=hn+q[ki>>2]|0;hn=r[fn|0]|r[fn+1|0]<<8|(r[fn+2|0]<<16|r[fn+3|0]<<24);q[mn>>2]=hn;gn=q[ki+20>>2];kn=q[ki+16>>2]+4|0;if(kn>>>0<4){gn=gn+1|0}fn=ki;q[fn+16>>2]=kn;q[fn+20>>2]=gn;break b}if(!Ch(1,mn,ki)){break a}hn=q[mn>>2]}gn=q[a>>2];fn=q[a+4>>2]-gn>>2;c:{if(hn>>>0>fn>>>0){Fa(a,hn-fn|0);hn=q[a+12>>2];break c}if(hn>>>0>=fn>>>0){break c}q[a+4>>2]=gn+(hn<<2)}if(!hn){sn=1;break a}qn=q[ki+8>>2];kn=q[ki+12>>2];while(1){jn=q[ki+16>>2];fn=q[ki+20>>2];if((kn|0)<(fn|0)?1:(kn|0)<=(fn|0)?qn>>>0>jn>>>0?0:1:0){break a}rn=q[ki>>2];nn=r[rn+jn|0];jn=jn+1|0;if(jn>>>0<1){fn=fn+1|0}q[ki+16>>2]=jn;q[ki+20>>2]=fn;on=nn>>>2;d:{e:{f:{pn=nn&3;if(pn>>>0>3){gn=0;break f}gn=0;g:{switch(pn-1|0){case 0:case 1:break f;case 2:break g;default:break e}}fn=ln+on|0;if(fn>>>0>=hn>>>0){return 0}Dn(q[a>>2]+(ln<<2)|0,0,(nn&252)+4|0);ln=fn;break d}while(1){if((kn|0)<(fn|0)?1:(kn|0)<=(fn|0)?qn>>>0>jn>>>0?0:1:0){return 0}nn=r[jn+rn|0];jn=jn+1|0;if(jn>>>0<1){fn=fn+1|0}q[ki+16>>2]=jn;q[ki+20>>2]=fn;on=nn<<(gn<<3|6)|on;gn=gn+1|0;if((pn|0)!=(gn|0)){continue}break}}q[q[a>>2]+(ln<<2)>>2]=on}ln=ln+1|0;hn=q[mn>>2];if(ln>>>0>>0){continue}break}ln=a+16|0;mn=q[a>>2];ki=q[a+16>>2];fn=q[a+20>>2]-ki|0;gn=fn>>2;h:{if(gn>>>0<=524287){Fa(ln,524288-gn|0);break h}if((fn|0)==2097152){break h}q[a+20>>2]=ki+2097152}i:{ki=a+28|0;fn=q[ki>>2];gn=q[a+32>>2]-fn>>3;if(hn>>>0>gn>>>0){Dh(ki,hn-gn|0);fn=q[ki>>2];break i}if(hn>>>0>>0){q[a+32>>2]=(hn<<3)+fn}if(hn){break i}return 0}ki=0;gn=0;while(1){a=mn+(ki<<2)|0;kn=q[a>>2];jn=(ki<<3)+fn|0;q[jn+4>>2]=gn;q[jn>>2]=kn;a=q[a>>2]+gn|0;if(a>>>0>524288){break a}if(gn>>>0>>0){kn=q[ln>>2];while(1){q[kn+(gn<<2)>>2]=ki;gn=gn+1|0;if((a|0)!=(gn|0)){continue}break}}gn=a;ki=ki+1|0;if((hn|0)!=(ki|0)){continue}break}return(a|0)==524288}return sn}function Oh(a,ki){var tn=0,un=0,vn=0,wn=0,xn=0,yn=0,zn=0,An=0,Bn=0;xn=T-16|0;T=xn;a:{b:{if(s[ki+38>>1]<=511){un=q[ki+12>>2];An=un;tn=q[ki+20>>2];vn=q[ki+16>>2];wn=vn+8|0;if(wn>>>0<8){tn=tn+1|0}yn=q[ki+8>>2];if((un|0)<(tn|0)?1:(un|0)<=(tn|0)?yn>>>0>=wn>>>0?0:1:0){break a}un=vn+q[ki>>2]|0;vn=r[un+4|0]|r[un+5|0]<<8|(r[un+6|0]<<16|r[un+7|0]<<24);un=r[un|0]|r[un+1|0]<<8|(r[un+2|0]<<16|r[un+3|0]<<24);q[xn+8>>2]=un;q[xn+12>>2]=vn;q[ki+16>>2]=wn;q[ki+20>>2]=tn;break b}if(!Eh(1,xn+8|0,ki)){break a}wn=q[ki+16>>2];tn=q[ki+20>>2];yn=q[ki+8>>2];An=q[ki+12>>2];un=q[xn+8>>2];vn=q[xn+12>>2]}zn=yn-wn|0;yn=An-(tn+(yn>>>0>>0)|0)|0;if((yn|0)==(vn|0)&un>>>0>zn>>>0|vn>>>0>yn>>>0){break a}vn=tn+vn|0;tn=wn;zn=tn+un|0;if(zn>>>0>>0){vn=vn+1|0}q[ki+16>>2]=zn;q[ki+20>>2]=vn;tn=un;if((tn|0)<1){break a}wn=wn+q[ki>>2]|0;q[a+40>>2]=wn;ki=a;c:{d:{e:{f:{g:{un=tn+ -1|0;vn=wn+un|0;switch((r[vn|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=un;a=r[vn|0]&63;break c}if((tn|0)<2){break a}q[a+44>>2]=tn+ -2;a=(tn+wn|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((tn|0)<3){break a}q[a+44>>2]=tn+ -3;a=(tn+wn|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=tn+ -4;a=(tn+wn|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+2097152|0;q[ki+48>>2]=a;Bn=a>>>0<536870912}T=xn+16|0;return Bn}function Ph(a,ki){var Cn=0,En=0,Fn=0,Gn=0,Hn=0,In=0,Jn=0,Kn=0,Ln=0,Mn=0,Nn=0,On=0,Pn=0;a:{Cn=s[ki+38>>1];if(!Cn){break a}Jn=a+12|0;b:{if(Cn>>>0<=511){En=q[ki+12>>2];Cn=q[ki+20>>2];Fn=q[ki+16>>2];Hn=Fn+4|0;if(Hn>>>0<4){Cn=Cn+1|0}if((En|0)<(Cn|0)?1:(En|0)<=(Cn|0)?t[ki+8>>2]>=Hn>>>0?0:1:0){break a}Cn=Fn+q[ki>>2]|0;Fn=r[Cn|0]|r[Cn+1|0]<<8|(r[Cn+2|0]<<16|r[Cn+3|0]<<24);q[Jn>>2]=Fn;En=q[ki+20>>2];Hn=q[ki+16>>2]+4|0;if(Hn>>>0<4){En=En+1|0}Cn=ki;q[Cn+16>>2]=Hn;q[Cn+20>>2]=En;break b}if(!Ch(1,Jn,ki)){break a}Fn=q[Jn>>2]}En=q[a>>2];Cn=q[a+4>>2]-En>>2;c:{if(Fn>>>0>Cn>>>0){Fa(a,Fn-Cn|0);Fn=q[a+12>>2];break c}if(Fn>>>0>=Cn>>>0){break c}q[a+4>>2]=En+(Fn<<2)}if(!Fn){Pn=1;break a}Nn=q[ki+8>>2];Hn=q[ki+12>>2];while(1){Gn=q[ki+16>>2];Cn=q[ki+20>>2];if((Hn|0)<(Cn|0)?1:(Hn|0)<=(Cn|0)?Nn>>>0>Gn>>>0?0:1:0){break a}On=q[ki>>2];Kn=r[On+Gn|0];Gn=Gn+1|0;if(Gn>>>0<1){Cn=Cn+1|0}q[ki+16>>2]=Gn;q[ki+20>>2]=Cn;Ln=Kn>>>2;d:{e:{f:{Mn=Kn&3;if(Mn>>>0>3){En=0;break f}En=0;g:{switch(Mn-1|0){case 0:case 1:break f;case 2:break g;default:break e}}Cn=In+Ln|0;if(Cn>>>0>=Fn>>>0){return 0}Dn(q[a>>2]+(In<<2)|0,0,(Kn&252)+4|0);In=Cn;break d}while(1){if((Hn|0)<(Cn|0)?1:(Hn|0)<=(Cn|0)?Nn>>>0>Gn>>>0?0:1:0){return 0}Kn=r[Gn+On|0];Gn=Gn+1|0;if(Gn>>>0<1){Cn=Cn+1|0}q[ki+16>>2]=Gn;q[ki+20>>2]=Cn;Ln=Kn<<(En<<3|6)|Ln;En=En+1|0;if((Mn|0)!=(En|0)){continue}break}}q[q[a>>2]+(In<<2)>>2]=Ln}In=In+1|0;Fn=q[Jn>>2];if(In>>>0>>0){continue}break}In=a+16|0;Jn=q[a>>2];ki=q[a+16>>2];Cn=q[a+20>>2]-ki|0;En=Cn>>2;h:{if(En>>>0<=1048575){Fa(In,1048576-En|0);break h}if((Cn|0)==4194304){break h}q[a+20>>2]=ki+4194304}i:{ki=a+28|0;Cn=q[ki>>2];En=q[a+32>>2]-Cn>>3;if(Fn>>>0>En>>>0){Dh(ki,Fn-En|0);Cn=q[ki>>2];break i}if(Fn>>>0>>0){q[a+32>>2]=(Fn<<3)+Cn}if(Fn){break i}return 0}ki=0;En=0;while(1){a=Jn+(ki<<2)|0;Hn=q[a>>2];Gn=(ki<<3)+Cn|0;q[Gn+4>>2]=En;q[Gn>>2]=Hn;a=q[a>>2]+En|0;if(a>>>0>1048576){break a}if(En>>>0>>0){Hn=q[In>>2];while(1){q[Hn+(En<<2)>>2]=ki;En=En+1|0;if((a|0)!=(En|0)){continue}break}}En=a;ki=ki+1|0;if((Fn|0)!=(ki|0)){continue}break}return(a|0)==1048576}return Pn}function Qh(a,ki){var Dn=0,Qn=0,Rn=0,Sn=0,Tn=0,Un=0,Vn=0,Wn=0,Xn=0;Tn=T-16|0;T=Tn;a:{b:{if(s[ki+38>>1]<=511){Qn=q[ki+12>>2];Wn=Qn;Dn=q[ki+20>>2];Rn=q[ki+16>>2];Sn=Rn+8|0;if(Sn>>>0<8){Dn=Dn+1|0}Un=q[ki+8>>2];if((Qn|0)<(Dn|0)?1:(Qn|0)<=(Dn|0)?Un>>>0>=Sn>>>0?0:1:0){break a}Qn=Rn+q[ki>>2]|0;Rn=r[Qn+4|0]|r[Qn+5|0]<<8|(r[Qn+6|0]<<16|r[Qn+7|0]<<24);Qn=r[Qn|0]|r[Qn+1|0]<<8|(r[Qn+2|0]<<16|r[Qn+3|0]<<24);q[Tn+8>>2]=Qn;q[Tn+12>>2]=Rn;q[ki+16>>2]=Sn;q[ki+20>>2]=Dn;break b}if(!Eh(1,Tn+8|0,ki)){break a}Sn=q[ki+16>>2];Dn=q[ki+20>>2];Un=q[ki+8>>2];Wn=q[ki+12>>2];Qn=q[Tn+8>>2];Rn=q[Tn+12>>2]}Vn=Un-Sn|0;Un=Wn-(Dn+(Un>>>0>>0)|0)|0;if((Un|0)==(Rn|0)&Qn>>>0>Vn>>>0|Rn>>>0>Un>>>0){break a}Rn=Dn+Rn|0;Dn=Sn;Vn=Dn+Qn|0;if(Vn>>>0>>0){Rn=Rn+1|0}q[ki+16>>2]=Vn;q[ki+20>>2]=Rn;Dn=Qn;if((Dn|0)<1){break a}Sn=Sn+q[ki>>2]|0;q[a+40>>2]=Sn;ki=a;c:{d:{e:{f:{g:{Qn=Dn+ -1|0;Rn=Sn+Qn|0;switch((r[Rn|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break g}}q[a+44>>2]=Qn;a=r[Rn|0]&63;break c}if((Dn|0)<2){break a}q[a+44>>2]=Dn+ -2;a=(Dn+Sn|0)+ -2|0;a=r[a+1|0]<<8&16128|r[a|0];break c}if((Dn|0)<3){break a}q[a+44>>2]=Dn+ -3;a=(Dn+Sn|0)+ -3|0;a=r[a+1|0]<<8|r[a+2|0]<<16&4128768|r[a|0];break c}q[a+44>>2]=Dn+ -4;a=(Dn+Sn|0)+ -4|0;a=r[a+2|0]<<16|r[a+3|0]<<24&1056964608|r[a+1|0]<<8|r[a|0]}a=a+4194304|0;q[ki+48>>2]=a;Xn=a>>>0<1073741824}T=Tn+16|0;return Xn}function Rh(a){Ij(a);q[a+44>>2]=0;q[a>>2]=11068}function Sh(a){a=a|0;if(q[a+44>>2]){return n[q[q[a>>2]+48>>2]](a)|0}return 0}function Th(a){a=a|0;var ki=0,Yn=0,Zn=0,_n=0,$n=0;q[a>>2]=13300;ki=q[a+20>>2];if(ki){q[a+24>>2]=ki;An(ki)}Zn=q[a+8>>2];if(Zn){ki=Zn;$n=a+12|0;Yn=q[$n>>2];_n=ki;a:{if((ki|0)==(Yn|0)){break a}while(1){Yn=Yn+ -4|0;ki=q[Yn>>2];q[Yn>>2]=0;if(ki){n[q[q[ki>>2]+4>>2]](ki)}if((Yn|0)!=(Zn|0)){continue}break}_n=q[a+8>>2]}ki=_n;q[$n>>2]=Zn;An(ki)}return a|0}function Uh(a,ao){a=a|0;ao=ao|0;a=q[a+48>>2];return n[q[q[a>>2]+20>>2]](a,ao)|0}function Vh(a){a=a|0;var ao=0,bo=0,co=0,eo=0;ao=q[a+32>>2];co=q[ao+16>>2];eo=q[ao+12>>2];bo=q[ao+20>>2];if((eo|0)>(bo|0)?1:(eo|0)>=(bo|0)?t[ao+8>>2]<=co>>>0?0:1:0){eo=r[co+q[ao>>2]|0];co=co+1|0;if(co>>>0<1){bo=bo+1|0}q[ao+16>>2]=co;q[ao+20>>2]=bo;ao=q[a+48>>2];q[a+48>>2]=0;if(ao){n[q[q[ao>>2]+4>>2]](ao)}a:{b:{if(eo>>>0>2){break b}c:{switch(eo-1|0){default:bo=Mm(384);bi(bo);ao=q[a+48>>2];q[a+48>>2]=bo;if(!ao){break a}n[q[q[ao>>2]+4>>2]](ao);break b;case 0:bo=Mm(424);Ei(bo);ao=q[a+48>>2];q[a+48>>2]=bo;if(!ao){break a}n[q[q[ao>>2]+4>>2]](ao);break b;case 1:break c}}bo=Mm(440);Ji(bo);ao=q[a+48>>2];q[a+48>>2]=bo;if(!ao){break a}n[q[q[ao>>2]+4>>2]](ao)}bo=q[a+48>>2];if(bo){break a}return 0}a=n[q[q[bo>>2]+8>>2]](bo,a)|0}else{a=0}return a|0}function Wh(a){a=a|0;a=q[a+48>>2];return n[q[q[a>>2]+24>>2]](a)|0}function Xh(a){a=a|0;a=q[a+48>>2];return n[q[q[a>>2]+28>>2]](a)|0}function Yh(a){a=a|0;var fo=0,go=0,ho=0,io=0,jo=0;q[a>>2]=11164;fo=a+48|0;go=q[fo>>2];q[fo>>2]=0;if(go){n[q[q[go>>2]+4>>2]](go)}q[a>>2]=13300;fo=q[a+20>>2];if(fo){q[a+24>>2]=fo;An(fo)}go=q[a+8>>2];if(go){fo=go;jo=a+12|0;ho=q[jo>>2];io=fo;a:{if((fo|0)==(ho|0)){break a}while(1){ho=ho+ -4|0;fo=q[ho>>2];q[ho>>2]=0;if(fo){n[q[q[fo>>2]+4>>2]](fo)}if((go|0)!=(ho|0)){continue}break}io=q[a+8>>2]}fo=io;q[jo>>2]=go;An(fo)}return a|0}function Zh(a){a=a|0;var ko=0,lo=0,mo=0,no=0,oo=0;q[a>>2]=11164;ko=a+48|0;lo=q[ko>>2];q[ko>>2]=0;if(lo){n[q[q[lo>>2]+4>>2]](lo)}q[a>>2]=13300;ko=q[a+20>>2];if(ko){q[a+24>>2]=ko;An(ko)}lo=q[a+8>>2];if(lo){ko=lo;oo=a+12|0;mo=q[oo>>2];no=ko;a:{if((ko|0)==(mo|0)){break a}while(1){mo=mo+ -4|0;ko=q[mo>>2];q[mo>>2]=0;if(ko){n[q[q[ko>>2]+4>>2]](ko)}if((lo|0)!=(mo|0)){continue}break}no=q[a+8>>2]}ko=no;q[oo>>2]=lo;An(ko)}An(a)}function _h(a){a=a|0;a=q[a+48>>2];return n[q[q[a>>2]+36>>2]](a)|0}function $h(a,po){a=a|0;po=po|0;a=q[a+48>>2];return n[q[q[a>>2]+12>>2]](a,po)|0}function ai(a,po){a=a|0;po=po|0;a=q[a+48>>2];return n[q[q[a>>2]+16>>2]](a,po)|0}function bi(a){q[a>>2]=11272;Dn(a+4|0,0,80);q[a+96>>2]=0;q[a+100>>2]=0;q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+104>>2]=0;q[a+108>>2]=0;q[a+112>>2]=0;q[a+116>>2]=0;q[a+120>>2]=0;q[a+124>>2]=0;q[a+128>>2]=0;q[a+132>>2]=0;q[a+136>>2]=0;q[a+140>>2]=0;q[a+144>>2]=0;q[a+148>>2]=0;q[a+156>>2]=0;q[a+160>>2]=0;q[a+152>>2]=1065353216;q[a+164>>2]=0;q[a+168>>2]=0;q[a+172>>2]=0;q[a+176>>2]=0;q[a+180>>2]=0;q[a+184>>2]=0;q[a+188>>2]=0;q[a+192>>2]=0;q[a+196>>2]=0;q[a+200>>2]=0;q[a+204>>2]=0;q[a+208>>2]=0;q[a+212>>2]=-1;q[a+216>>2]=0;q[a+220>>2]=0;q[a+224>>2]=0;ci(a+232|0)}function ci(a){Yj(a);Yj(a+40|0);ah(a+80|0);Yj(a+96|0);q[a+144>>2]=0;q[a+136>>2]=0;q[a+140>>2]=0}function di(a,po){a=a|0;po=po|0;q[a+4>>2]=po;return 1}function ei(a,po){a=a|0;po=po|0;var qo=0,ro=0,so=0,to=0,uo=0;qo=q[a+216>>2];to=a+220|0;if((qo|0)!=q[to>>2]){while(1){a:{qo=q[w(so,144)+qo>>2];if((qo|0)<0){break a}uo=q[a+4>>2];ro=q[uo+8>>2];if((qo|0)>=q[uo+12>>2]-ro>>2){break a}qo=q[ro+(qo<<2)>>2];if((n[q[q[qo>>2]+24>>2]](qo)|0)<1){break a}ro=0;while(1){if((n[q[q[qo>>2]+20>>2]](qo,ro)|0)!=(po|0)){ro=ro+1|0;if((ro|0)<(n[q[q[qo>>2]+24>>2]](qo)|0)){continue}break a}break}a=q[a+216>>2]+w(so,144)|0;return(r[a+100|0]?a+4|0:0)|0}so=so+1|0;qo=q[a+216>>2];if(so>>>0<(q[to>>2]-qo|0)/144>>>0){continue}break}}return 0}function fi(a,po){a=a|0;po=po|0;var vo=0,wo=0,xo=0,yo=0,zo=0;vo=q[a+216>>2];yo=a+220|0;if((vo|0)!=q[yo>>2]){while(1){a:{vo=q[w(xo,144)+vo>>2];if((vo|0)<0){break a}zo=q[a+4>>2];wo=q[zo+8>>2];if((vo|0)>=q[zo+12>>2]-wo>>2){break a}vo=q[wo+(vo<<2)>>2];if((n[q[q[vo>>2]+24>>2]](vo)|0)<1){break a}wo=0;while(1){if((n[q[q[vo>>2]+20>>2]](vo,wo)|0)!=(po|0)){wo=wo+1|0;if((wo|0)<(n[q[q[vo>>2]+24>>2]](vo)|0)){continue}break a}break}return(q[a+216>>2]+w(xo,144)|0)+104|0}xo=xo+1|0;vo=q[a+216>>2];if(xo>>>0<(q[yo>>2]-vo|0)/144>>>0){continue}break}}return a+184|0}function gi(a,po){a=a|0;po=po|0;var Ao=0,Bo=0,Co=0,Do=0,Eo=0,Fo=0,Go=0,Ho=0,Io=0,Jo=0,Ko=0,Lo=0,Mo=0,No=0,Oo=0;Do=T-80|0;T=Do;a:{b:{Mo=q[a+4>>2];Ao=q[Mo+32>>2];Io=q[Ao+8>>2];Ho=q[Ao+16>>2];Ko=q[Ao+12>>2];Bo=Ko;Fo=q[Ao+20>>2];Eo=Fo;c:{if((Bo|0)<(Eo|0)?1:(Bo|0)<=(Eo|0)?Io>>>0>Ho>>>0?0:1:0){break c}No=q[Ao>>2];Jo=r[No+Ho|0];Bo=Fo;Go=Ho+1|0;if(Go>>>0<1){Bo=Bo+1|0}Eo=Ao;q[Ao+16>>2]=Go;q[Ao+20>>2]=Bo;if((Ko|0)<(Bo|0)?1:(Ko|0)<=(Bo|0)?Io>>>0>Go>>>0?0:1:0){break c}Oo=r[Go+No|0];Bo=Fo;Go=Ho+2|0;if(Go>>>0<2){Bo=Bo+1|0}q[Ao+16>>2]=Go;q[Eo+20>>2]=Bo;Lo=Jo<<24>>24;d:{if((Lo|0)>=0){Eo=q[a+216>>2];if((q[a+220>>2]-Eo|0)/144>>>0<=Jo>>>0){break c}Eo=Eo+w(Jo,144)|0;if(q[Eo>>2]<=-1){break d}break c}if(q[a+212>>2]>-1){break c}Eo=a+212|0}q[Eo>>2]=po;Eo=0;Co=s[Mo+36>>1];if((Co<<24|Co<<8&16711680)>>>16>>>0>=258){Co=0;if((Ko|0)<(Bo|0)?1:(Ko|0)<=(Bo|0)?Io>>>0>Go>>>0?0:1:0){break c}Eo=r[Go+No|0];Bo=Ho+3|0;if(Bo>>>0<3){Fo=Fo+1|0}q[Ao+16>>2]=Bo;q[Ao+20>>2]=Fo}e:{f:{g:{if(!Oo){if((Lo|0)<=-1){Ao=a+184|0}else{Ao=q[a+216>>2]+w(Jo,144)|0;o[Ao+100|0]=0;Ao=Ao+104|0}Co=0;if(Eo>>>0>1){break c}if(!(Eo-1)){break g}hi(Do+16|0,a,Ao);break f}Co=0;if(Eo|(Lo|0)<0){break c}Fo=q[Mo+44>>2];Co=q[a+216>>2];Ao=Mm(80);q[Ao>>2]=12884;q[Ao+76>>2]=0;q[Ao+68>>2]=Fo;Bo=Ao+12|0;q[Bo>>2]=0;q[Bo+4>>2]=0;q[Ao+4>>2]=0;Eo=Ao+20|0;q[Eo>>2]=0;q[Eo+4>>2]=0;Ko=Ao+28|0;Ho=Ko;q[Ho>>2]=0;q[Ho+4>>2]=0;q[Ao+36>>2]=0;q[Ao+40>>2]=0;Ho=Ao+44|0;q[Ho>>2]=0;q[Ho+4>>2]=0;q[Ao+52>>2]=0;Co=Co+w(Jo,144)|0;Jo=Co+104|0;q[Ao+72>>2]=Jo;q[Ao- -64>>2]=0;Mo=Ao+56|0;Io=Mo;q[Io>>2]=0;q[Io+4>>2]=0;q[Ao+8>>2]=11760;Io=Do+56|0;q[Io>>2]=0;q[Io+4>>2]=0;q[Do+48>>2]=0;q[Do+52>>2]=0;No=Do+32|0;Go=No;q[Go>>2]=0;q[Go+4>>2]=0;q[Do+72>>2]=0;q[Do+40>>2]=0;q[Do+44>>2]=0;q[Do+24>>2]=0;q[Do+28>>2]=0;q[Do+64>>2]=0;q[Do+68>>2]=0;q[Do+16>>2]=11760;Go=Co+4|0;q[Do+20>>2]=Go;Co=q[Co+68>>2];Lo=q[Co>>2];Co=q[Co+4>>2];o[Do+79|0]=0;bb(Do+40|0,(Co-Lo>>2>>>0)/3|0,Do+79|0);Co=q[Do+20>>2];Lo=q[Co+56>>2];Co=q[Co+52>>2];o[Do+79|0]=0;bb(Do+52|0,Lo-Co>>2,Do+79|0);q[Do+36>>2]=Ao;q[No>>2]=Fo;Fo=Do+28|0;q[Fo>>2]=Jo;q[Do+24>>2]=Go;q[Ko>>2]=Ao;Co=q[Fo+4>>2];q[Eo>>2]=q[Fo>>2];q[Eo+4>>2]=Co;Fo=q[Do+24>>2];q[Bo>>2]=q[Do+20>>2];q[Bo+4>>2]=Fo;Fo=Ao;Co=q[Do+44>>2];if(Co){Bo=Ao+32|0;h:{if(Co>>>0<=q[Ao+40>>2]<<5>>>0){Eo=Co+ -1>>>5;Co=q[Bo>>2];break h}Bo=q[Bo>>2];if(Bo){An(Bo);q[Ao+40>>2]=0;q[Ao+32>>2]=0;q[Ao+36>>2]=0;Co=q[Do+44>>2]}if((Co|0)<=-1){break b}Eo=Co+ -1>>>5;Bo=Eo+1|0;Co=Mm(Bo<<2);q[Ao+40>>2]=Bo;q[Ao+36>>2]=0;q[Ao+32>>2]=Co}En(Co,q[Do+40>>2],(Eo<<2)+4|0);Bo=q[Do+44>>2]}else{Bo=0}q[Fo+36>>2]=Bo;Fo=Ao;Co=q[Io>>2];if(Co){i:{if(Co>>>0<=q[Ao+52>>2]<<5>>>0){Bo=Co+ -1>>>5;Co=q[Ho>>2];break i}Bo=q[Ho>>2];if(Bo){An(Bo);q[Ao+52>>2]=0;q[Ao+44>>2]=0;q[Ao+48>>2]=0;Co=q[Do+56>>2]}if((Co|0)<=-1){break a}Bo=Co+ -1>>>5;Eo=Bo+1|0;Co=Mm(Eo<<2);q[Ao+52>>2]=Eo;q[Ao+48>>2]=0;q[Ao+44>>2]=Co}En(Co,q[Do+52>>2],(Bo<<2)+4|0);Bo=q[Do+56>>2]}else{Bo=0}q[Fo+48>>2]=Bo;vd(Mo,q[Do+64>>2],q[Do+68>>2]);q[Do+16>>2]=11760;Fo=q[Do+64>>2];if(Fo){q[Do+68>>2]=Fo;An(Fo)}q[Do+16>>2]=12012;Fo=q[Do+52>>2];if(Fo){An(Fo)}Fo=q[Do+40>>2];if(!Fo){break e}An(Fo);break e}ii(Do+16|0,a,Ao)}Ao=q[Do+16>>2];if(!Ao){break c}}Fo=Mm(64);q[Do+8>>2]=Ao;Ge(Fo,Do+8|0);Ao=q[Do+8>>2];q[Do+8>>2]=0;if(Ao){n[q[q[Ao>>2]+4>>2]](Ao)}if((po|0)>=0){a=q[a+4>>2];Co=a+8|0;Ao=q[a+12>>2];Jo=q[a+8>>2];Bo=Ao-Jo>>2;j:{if((Bo|0)>(po|0)){break j}Eo=po+1|0;if(Bo>>>0<=po>>>0){ji(Co,Eo-Bo|0);break j}if(Eo>>>0>=Bo>>>0){break j}Eo=Jo+(Eo<<2)|0;if((Eo|0)!=(Ao|0)){while(1){Ao=Ao+ -4|0;Bo=q[Ao>>2];q[Ao>>2]=0;if(Bo){n[q[q[Bo>>2]+4>>2]](Bo)}if((Ao|0)!=(Eo|0)){continue}break}}q[a+12>>2]=Eo}po=q[Co>>2]+(po<<2)|0;a=q[po>>2];q[po>>2]=Fo;Co=1;if(!a){break c}n[q[q[a>>2]+4>>2]](a);break c}n[q[q[Fo>>2]+4>>2]](Fo);Co=0}T=Do+80|0;return Co|0}bn();F()}bn();F()}function hi(a,po,Po){var Qo=0,Ro=0,So=0,To=0,Uo=0,Vo=0,Wo=0,Xo=0,Yo=0,Zo=0,_o=0,$o=0;Qo=T+ -64|0;T=Qo;So=q[q[po+4>>2]+44>>2];Ro=Mm(80);q[Ro>>2]=12592;q[Ro+76>>2]=0;q[Ro+72>>2]=Po;q[Ro+68>>2]=So;To=Ro+12|0;q[To>>2]=0;q[To+4>>2]=0;q[Ro+4>>2]=0;Xo=Ro+20|0;Uo=Xo;q[Uo>>2]=0;q[Uo+4>>2]=0;Zo=Ro+28|0;Uo=Zo;q[Uo>>2]=0;q[Uo+4>>2]=0;q[Ro+36>>2]=0;q[Ro+40>>2]=0;Uo=Ro+44|0;q[Uo>>2]=0;q[Uo+4>>2]=0;q[Ro+52>>2]=0;q[Ro- -64>>2]=0;_o=Ro+56|0;Wo=_o;q[Wo>>2]=0;q[Wo+4>>2]=0;q[Ro+8>>2]=12756;po=q[po+8>>2];Wo=Qo+40|0;q[Wo>>2]=0;q[Wo+4>>2]=0;q[Qo+32>>2]=0;q[Qo+36>>2]=0;$o=Qo+16|0;Vo=$o;q[Vo>>2]=0;q[Vo+4>>2]=0;q[Qo+56>>2]=0;q[Qo+24>>2]=0;q[Qo+28>>2]=0;q[Qo+8>>2]=0;q[Qo+12>>2]=0;q[Qo+48>>2]=0;q[Qo+52>>2]=0;q[Qo>>2]=12756;q[Qo+4>>2]=po;Vo=q[po>>2];Yo=q[po+4>>2];o[Qo+63|0]=0;bb(Qo+24|0,(Yo-Vo>>2>>>0)/3|0,Qo+63|0);Vo=q[Qo+4>>2];Yo=q[Vo+28>>2];Vo=q[Vo+24>>2];o[Qo+63|0]=0;bb(Qo+36|0,Yo-Vo>>2,Qo+63|0);q[Qo+20>>2]=Ro;q[$o>>2]=So;So=Qo+12|0;q[So>>2]=Po;q[Qo+8>>2]=po;q[Zo>>2]=Ro;po=q[So+4>>2];q[Xo>>2]=q[So>>2];q[Xo+4>>2]=po;po=q[Qo+8>>2];q[To>>2]=q[Qo+4>>2];q[To+4>>2]=po;a:{b:{Po=Ro;po=q[Qo+28>>2];if(po){So=Ro+32|0;c:{if(po>>>0<=q[Ro+40>>2]<<5>>>0){To=po+ -1>>>5;po=q[So>>2];break c}So=q[So>>2];if(So){An(So);q[Ro+40>>2]=0;q[Ro+32>>2]=0;q[Ro+36>>2]=0;po=q[Qo+28>>2]}if((po|0)<=-1){break b}To=po+ -1>>>5;So=To+1|0;po=Mm(So<<2);q[Ro+40>>2]=So;q[Ro+36>>2]=0;q[Ro+32>>2]=po}En(po,q[Qo+24>>2],(To<<2)+4|0);po=q[Qo+28>>2]}else{po=0}q[Po+36>>2]=po;Xo=Ro;po=q[Wo>>2];if(po){d:{if(po>>>0<=q[Ro+52>>2]<<5>>>0){Po=po+ -1>>>5;po=q[Uo>>2];break d}Po=q[Uo>>2];if(Po){An(Po);q[Ro+52>>2]=0;q[Ro+44>>2]=0;q[Ro+48>>2]=0;po=q[Qo+40>>2]}if((po|0)<=-1){break a}Po=po+ -1>>>5;To=Po+1|0;po=Mm(To<<2);q[Ro+52>>2]=To;q[Ro+48>>2]=0;q[Ro+44>>2]=po}En(po,q[Qo+36>>2],(Po<<2)+4|0);po=q[Qo+40>>2]}else{po=0}q[Xo+48>>2]=po;vd(_o,q[Qo+48>>2],q[Qo+52>>2]);q[a>>2]=Ro;q[Qo>>2]=12756;a=q[Qo+48>>2];if(a){q[Qo+52>>2]=a;An(a)}q[Qo>>2]=12572;a=q[Qo+36>>2];if(a){An(a)}a=q[Qo+24>>2];if(a){An(a)}T=Qo- -64|0;return}bn();F()}bn();F()}function ii(a,po,Po){var ap=0,bp=0,cp=0,dp=0,ep=0,fp=0,gp=0;ap=T-112|0;T=ap;gp=q[q[po+4>>2]+44>>2];bp=Mm(120);q[bp>>2]=12124;q[bp+116>>2]=0;q[bp+112>>2]=Po;q[bp+108>>2]=gp;q[bp+12>>2]=0;q[bp+16>>2]=0;q[bp+4>>2]=0;q[bp+20>>2]=0;q[bp+24>>2]=0;q[bp+28>>2]=0;q[bp+32>>2]=0;q[bp+36>>2]=0;q[bp+40>>2]=0;q[bp+44>>2]=0;q[bp+48>>2]=0;q[bp+52>>2]=0;q[bp+56>>2]=0;q[bp+60>>2]=0;q[bp+8>>2]=12336;ep=bp- -64|0;q[ep>>2]=0;q[ep+4>>2]=0;q[bp+72>>2]=0;q[bp+76>>2]=0;q[bp+80>>2]=0;q[bp+84>>2]=0;q[bp+88>>2]=0;q[bp+104>>2]=0;q[bp+96>>2]=0;q[bp+100>>2]=0;po=q[po+8>>2];q[ap+48>>2]=0;q[ap+52>>2]=0;q[ap+40>>2]=0;q[ap+44>>2]=0;ep=ap+24|0;cp=ep;q[cp>>2]=0;q[cp+4>>2]=0;cp=ap- -64|0;q[cp>>2]=0;q[cp+4>>2]=0;q[ap+72>>2]=0;q[ap+76>>2]=0;cp=ap+80|0;q[cp>>2]=0;q[cp+4>>2]=0;q[ap+88>>2]=0;q[ap+104>>2]=0;q[ap+32>>2]=0;q[ap+36>>2]=0;q[ap+16>>2]=0;q[ap+20>>2]=0;q[ap+56>>2]=0;q[ap+60>>2]=0;q[ap+8>>2]=12336;q[ap+96>>2]=0;q[ap+100>>2]=0;q[ap+12>>2]=po;dp=q[po>>2];fp=q[po+4>>2];o[ap+111|0]=0;bb(ap+32|0,(fp-dp>>2>>>0)/3|0,ap+111|0);dp=q[ap+12>>2];fp=q[dp+28>>2];dp=q[dp+24>>2];o[ap+111|0]=0;bb(ap+44|0,fp-dp>>2,ap+111|0);q[ap+28>>2]=bp;q[ep>>2]=gp;q[ap+20>>2]=Po;q[ap+16>>2]=po;ki(bp,ap+8|0);q[a>>2]=bp;q[ap+8>>2]=12336;a=q[ap+96>>2];if(a){q[ap+100>>2]=a;An(a)}a=q[cp>>2];if(a){q[ap+84>>2]=a;An(a)}a=q[ap+68>>2];if(a){q[ap+72>>2]=a;An(a)}a=q[ap+56>>2];if(a){q[ap+60>>2]=a;An(a)}q[ap+8>>2]=12572;a=q[ap+44>>2];if(a){An(a)}a=q[ap+32>>2];if(a){An(a)}T=ap+112|0}function ji(a,po){var Po=0,hp=0,ip=0,jp=0,kp=0,lp=0,mp=0,np=0,op=0;hp=q[a+8>>2];ip=a+4|0;Po=q[ip>>2];if(hp-Po>>2>>>0>=po>>>0){a=po<<2;np=ip,op=Dn(Po,0,a)+a|0,q[np>>2]=op;return}a:{ip=q[a>>2];jp=Po-ip>>2;kp=jp+po|0;if(kp>>>0<1073741824){jp=jp<<2;hp=hp-ip|0;mp=hp>>1;hp=hp>>2>>>0<536870911?mp>>>0>>0?kp:mp:1073741823;if(hp){if(hp>>>0>=1073741824){break a}lp=Mm(hp<<2)}jp=jp+lp|0;Dn(jp,0,po<<2);po=(kp<<2)+lp|0;kp=(hp<<2)+lp|0;if((Po|0)!=(ip|0)){while(1){Po=Po+ -4|0;hp=q[Po>>2];q[Po>>2]=0;jp=jp+ -4|0;q[jp>>2]=hp;if((Po|0)!=(ip|0)){continue}break}ip=q[a>>2];Po=q[a+4>>2]}q[a>>2]=jp;q[a+8>>2]=kp;q[a+4>>2]=po;if((Po|0)!=(ip|0)){while(1){Po=Po+ -4|0;a=q[Po>>2];q[Po>>2]=0;if(a){n[q[q[a>>2]+4>>2]](a)}if((Po|0)!=(ip|0)){continue}break}}if(ip){An(ip)}return}bn();F()}ab(12024);F()}function ki(a,po){var pp=0;pp=q[po+8>>2];q[a+12>>2]=q[po+4>>2];q[a+16>>2]=pp;q[a+28>>2]=q[po+20>>2];pp=q[po+16>>2];q[a+20>>2]=q[po+12>>2];q[a+24>>2]=pp;$i(a+32|0,po+24|0);$i(a+44|0,po+36|0);if((a+8|0)==(po|0)){q[a+92>>2]=q[po+84>>2];return}vd(a+56|0,q[po+48>>2],q[po+52>>2]);vd(a+68|0,q[po+60>>2],q[po- -64>>2]);vd(a+80|0,q[po+72>>2],q[po+76>>2]);q[a+92>>2]=q[po+84>>2];hd(a+96|0,q[po+88>>2],q[po+92>>2])}function li(a,po,qp){a=a|0;po=po|0;qp=qp|0;var rp=0,sp=0;rp=T-16|0;T=rp;q[a+4>>2]=po;po=q[po+64>>2];sp=q[po+4>>2];po=q[po>>2];o[rp+15|0]=0;bb(a+24|0,(sp-po>>2>>>0)/3|0,rp+15|0);po=q[a+4>>2];sp=q[po+56>>2];po=q[po+52>>2];o[rp+14|0]=0;bb(a+36|0,sp-po>>2,rp+14|0);po=q[qp+12>>2];q[a+16>>2]=q[qp+8>>2];q[a+20>>2]=po;po=q[qp+4>>2];q[a+8>>2]=q[qp>>2];q[a+12>>2]=po;T=rp+16|0}function mi(a){a=a|0;var po=0;q[a>>2]=11760;po=q[a+48>>2];if(po){q[a+52>>2]=po;An(po)}q[a>>2]=12012;po=q[a+36>>2];if(po){An(po)}po=q[a+24>>2];if(po){An(po)}return a|0}function ni(a){a=a|0;var qp=0,tp=0,up=0,vp=0,wp=0,xp=0,yp=0,zp=0,Ap=0,Bp=0,Cp=0,Dp=0,Ep=0,Fp=0,Gp=0;zp=T+ -64|0;T=zp;q[a+132>>2]=0;if(q[a+148>>2]){up=a+144|0;tp=q[up>>2];if(tp){while(1){qp=q[tp>>2];An(tp);tp=qp;if(qp){continue}break}}q[up>>2]=0;qp=q[a+140>>2];if(qp){up=a+136|0;tp=0;while(1){q[q[up>>2]+(tp<<2)>>2]=0;tp=tp+1|0;if((qp|0)!=(tp|0)){continue}break}}q[a+148>>2]=0}a:{b:{c:{d:{e:{f:{tp=q[a+4>>2];up=r[tp+36|0];qp=up<<8|r[tp+37|0];g:{if(qp>>>0>513){break g}xp=q[tp+32>>2];if(qp>>>0<=511){wp=q[xp+12>>2];qp=q[xp+20>>2];yp=q[xp+16>>2];vp=yp+4|0;if(vp>>>0<4){qp=qp+1|0}Ap=vp;vp=qp;if((wp|0)<(qp|0)?1:(wp|0)<=(qp|0)?t[xp+8>>2]>=Ap>>>0?0:1:0){break f}qp=yp+q[xp>>2]|0;qp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp>>2]=qp;q[xp+16>>2]=Ap;q[xp+20>>2]=vp;q[a+132>>2]=qp;break g}if(!oi(1,zp,xp)){break f}tp=q[a+4>>2];up=r[tp+36|0];q[a+132>>2]=q[zp>>2]}tp=q[tp+32>>2];h:{i:{j:{if((up&255)>>>0<=1){up=0;xp=q[tp+12>>2];qp=q[tp+20>>2];wp=q[tp+16>>2];vp=wp+4|0;if(vp>>>0<4){qp=qp+1|0}yp=vp;vp=qp;if((xp|0)<(qp|0)?1:(xp|0)<=(qp|0)?t[tp+8>>2]>=yp>>>0?0:1:0){break a}qp=wp+q[tp>>2]|0;qp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp+60>>2]=qp;q[tp+16>>2]=yp;q[tp+20>>2]=vp;q[a+156>>2]=qp;Dp=a+156|0;break j}up=0;if(!oi(1,zp+60|0,tp)){break a}qp=q[a+4>>2];tp=q[qp+32>>2];qp=r[qp+36|0];q[a+156>>2]=q[zp+60>>2];Dp=a+156|0;if(qp>>>0>1){break i}}xp=q[tp+12>>2];qp=q[tp+20>>2];wp=q[tp+16>>2];vp=wp+4|0;if(vp>>>0<4){qp=qp+1|0}Ap=vp;vp=qp;if((xp|0)<(qp|0)?1:(xp|0)<=(qp|0)?t[tp+8>>2]>=Ap>>>0?0:1:0){break a}qp=wp+q[tp>>2]|0;yp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp+56>>2]=yp;q[tp+16>>2]=Ap;q[tp+20>>2]=vp;break h}if(!oi(1,zp+56|0,tp)){break a}yp=q[zp+56>>2]}if(yp>>>0>1431655765|t[Dp>>2]>w(yp,3)>>>0){break a}Bp=q[a+4>>2];vp=q[Bp+32>>2];Fp=q[vp+8>>2];Cp=q[vp+16>>2];xp=q[vp+12>>2];qp=xp;tp=q[vp+20>>2];if((qp|0)<(tp|0)?1:(qp|0)<=(tp|0)?Fp>>>0>Cp>>>0?0:1:0){break a}Gp=q[vp>>2];Ap=r[Gp+Cp|0];qp=tp;Ep=Cp+1|0;if(Ep>>>0<1){qp=qp+1|0}q[vp+16>>2]=Ep;q[vp+20>>2]=qp;k:{if(r[Bp+36|0]<=1){qp=tp;tp=Cp+5|0;if(tp>>>0<5){qp=qp+1|0}wp=tp;tp=qp;if((xp|0)<(qp|0)?1:(xp|0)<=(qp|0)?Fp>>>0>=wp>>>0?0:1:0){break a}qp=Ep+Gp|0;xp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp+52>>2]=xp;q[vp+16>>2]=wp;q[vp+20>>2]=tp;break k}if(!oi(1,zp+52|0,vp)){break a}xp=q[zp+52>>2]}if(yp>>>0>>0|yp>>>0>((xp>>>0)/3|0)+xp>>>0){break a}qp=q[a+4>>2];vp=q[qp+32>>2];l:{if(r[qp+36|0]<=1){wp=q[vp+12>>2];qp=q[vp+20>>2];Cp=q[vp+16>>2];tp=Cp+4|0;if(tp>>>0<4){qp=qp+1|0}Bp=tp;tp=qp;if((wp|0)<(qp|0)?1:(wp|0)<=(qp|0)?t[vp+8>>2]>=Bp>>>0?0:1:0){break a}qp=Cp+q[vp>>2]|0;wp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp+48>>2]=wp;q[vp+16>>2]=Bp;q[vp+20>>2]=tp;break l}if(!oi(1,zp+48|0,vp)){break a}wp=q[zp+48>>2]}if(wp>>>0>xp>>>0){break a}q[a+28>>2]=q[a+24>>2];tp=Mm(88);jk(tp);qp=q[a+8>>2];q[a+8>>2]=tp;vp=a+8|0;if(qp){wa(vp,qp);if(!q[vp>>2]){break a}}qp=q[a+160>>2];q[a+164>>2]=qp;m:{if(q[a+168>>2]-qp>>2>>>0>=yp>>>0){break m}if(yp>>>0>=1073741824){break e}up=yp<<2;tp=Mm(up);q[a+164>>2]=tp;q[a+160>>2]=tp;q[a+168>>2]=tp+up;if(!qp){break m}An(qp)}qp=q[a+172>>2];q[a+176>>2]=qp;n:{if(q[a+180>>2]-qp>>2>>>0>=yp>>>0){break n}if(yp>>>0>=1073741824){break d}up=yp<<2;tp=Mm(up);q[a+176>>2]=tp;q[a+172>>2]=tp;q[a+180>>2]=tp+up;if(!qp){break n}An(qp)}q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+40>>2]=q[a+36>>2];q[a- -64>>2]=0;q[a+52>>2]=q[a+48>>2];q[a+76>>2]=q[a+72>>2];Cp=a+216|0;tp=q[a+220>>2];up=q[a+216>>2];if((tp|0)==(up|0)){break c}while(1){qp=q[tp+ -12>>2];if(qp){q[tp+ -8>>2]=qp;An(qp)}qp=q[tp+ -28>>2];if(qp){q[tp+ -24>>2]=qp;An(qp)}qp=tp+ -144|0;Bp=q[tp+ -40>>2];if(Bp){q[tp+ -36>>2]=Bp;An(Bp)}pi(tp+ -140|0);tp=qp;if((up|0)!=(qp|0)){continue}break}qp=q[Cp>>2];break b}up=0;break a}ab(12024);F()}ab(12024);F()}qp=up}q[a+220>>2]=up;tp=(up-qp|0)/144|0;o:{if(tp>>>0>>0){qi(Cp,Ap-tp|0);break o}if(tp>>>0<=Ap>>>0){break o}tp=qp+w(Ap,144)|0;if((tp|0)!=(up|0)){while(1){qp=q[up+ -12>>2];if(qp){q[up+ -8>>2]=qp;An(qp)}qp=q[up+ -28>>2];if(qp){q[up+ -24>>2]=qp;An(qp)}qp=up+ -144|0;Bp=q[up+ -40>>2];if(Bp){q[up+ -36>>2]=Bp;An(Bp)}pi(up+ -140|0);up=qp;if((qp|0)!=(tp|0)){continue}break}}q[a+220>>2]=tp}up=0;if(!tk(q[vp>>2],yp,q[Dp>>2]+wp|0)){break a}qp=q[a+156>>2];o[zp|0]=1;bb(a+120|0,qp+wp|0,zp);tp=q[a+4>>2];qp=s[tp+36>>1];qp=(qp<<24|qp<<8&16711680)>>>16;p:{if(qp>>>0<=513){wp=q[tp+32>>2];q:{if(qp>>>0<=511){yp=q[wp+12>>2];qp=q[wp+20>>2];Dp=q[wp+16>>2];tp=Dp+4|0;if(tp>>>0<4){qp=qp+1|0}Bp=tp;tp=qp;if((yp|0)<(qp|0)?1:(yp|0)<=(qp|0)?t[wp+8>>2]>=Bp>>>0?0:1:0){break a}qp=Dp+q[wp>>2]|0;yp=r[qp|0]|r[qp+1|0]<<8|(r[qp+2|0]<<16|r[qp+3|0]<<24);q[zp+44>>2]=yp;q[wp+16>>2]=Bp;q[wp+20>>2]=tp;break q}if(!oi(1,zp+44|0,wp)){break a}yp=q[zp+44>>2]}if(!yp){break a}qp=q[q[a+4>>2]+32>>2];tp=q[qp+8>>2];wp=q[qp+16>>2];qp=q[qp+12>>2]-(q[qp+20>>2]+(tp>>>0>>0)|0)|0;if((qp|0)<0?1:(qp|0)<=0?tp-wp>>>0>=yp>>>0?0:1:0){break a}wp=Yj(zp);tp=q[q[a+4>>2]+32>>2];qp=q[tp+16>>2];Dp=q[tp+8>>2];Zj(wp,(qp+q[tp>>2]|0)+yp|0,(Dp-qp|0)-yp|0,s[tp+38>>1]);tp=ri(a,wp);if((tp|0)==-1){break a}qp=tp;wp=qp>>31;break p}qp=-1;wp=-1;if((ri(a,q[tp+32>>2])|0)==-1){break a}}q[a+376>>2]=a;Dp=a+232|0;tp=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];Bp=q[tp>>2]+q[tp+16>>2]|0;yp=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];tp=q[yp+8>>2];up=q[yp+16>>2];Zj(Dp,Bp,tp-up|0,s[q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);q[a+372>>2]=Ap;up=0;tp=Yj(zp);r:{if(!si(Dp,tp)){break r}yp=ti(a,xp);if((yp|0)==-1){break r}xp=q[q[a+4>>2]+32>>2];up=q[tp+16>>2];Ap=up+q[tp>>2]|0;tp=q[tp+8>>2];Zj(xp,Ap,tp-up|0,s[xp+38>>1]);tp=q[a+4>>2];up=s[tp+36>>1];xp=(up<<24|up<<8&16711680)>>>16;if(xp>>>0<=513){up=q[tp+32>>2];Ap=up;Bp=up;tp=wp+q[up+20>>2]|0;up=qp+q[up+16>>2]|0;if(up>>>0>>0){tp=tp+1|0}q[Bp+16>>2]=up;q[Ap+20>>2]=tp}s:{if(q[a+220>>2]==q[a+216>>2]){break s}tp=q[vp>>2];qp=q[tp+4>>2];tp=q[tp>>2];t:{if(xp>>>0>=513){if((qp|0)==(tp|0)){break s}tp=0;break t}if((qp|0)==(tp|0)){break s}tp=0;while(1){if(ui(a,tp)){tp=tp+3|0;qp=q[vp>>2];if(tp>>>0>2]-q[qp>>2]>>2>>>0){continue}break s}break}up=0;break r}while(1){if(vi(a,tp)){tp=tp+3|0;qp=q[vp>>2];if(tp>>>0>2]-q[qp>>2]>>2>>>0){continue}break s}break}up=0;break r}if(r[a+308|0]){ak(a+272|0)}if(s[a+270>>1]<=513){ak(a+328|0)}tp=q[a+216>>2];wp=a+220|0;if((tp|0)!=q[wp>>2]){xp=0;while(1){qp=w(xp,144);Ek((qp+tp|0)+4|0,q[vp>>2]);up=q[Cp>>2];Ap=qp+up|0;tp=q[Ap+132>>2];Ap=q[Ap+136>>2];if((tp|0)!=(Ap|0)){while(1){Gk((qp+up|0)+4|0,q[tp>>2]);up=q[Cp>>2];tp=tp+4|0;if((Ap|0)!=(tp|0)){continue}break}}Fk((qp+up|0)+4|0);xp=xp+1|0;tp=q[a+216>>2];if(xp>>>0<(q[wp>>2]-tp|0)/144>>>0){continue}break}}qp=q[a+8>>2];wi(a+184|0,q[qp+28>>2]-q[qp+24>>2]>>2);up=q[a+216>>2];if((up|0)!=q[wp>>2]){tp=0;xp=a+220|0;while(1){qp=w(tp,144)+up|0;up=q[qp+60>>2]-q[qp+56>>2]>>2;Ap=qp+104|0;qp=q[vp>>2];qp=q[qp+28>>2]-q[qp+24>>2]>>2;wi(Ap,(up|0)<(qp|0)?qp:up);tp=tp+1|0;up=q[a+216>>2];if(tp>>>0<(q[xp>>2]-up|0)/144>>>0){continue}break}}up=xi(a,yp)}}T=zp- -64|0;return up|0}function oi(a,Hp,Ip){var Jp=0,Kp=0,Lp=0,Mp=0;a:{if(a>>>0>5){break a}Lp=q[Ip+16>>2];Jp=q[Ip+12>>2];Kp=q[Ip+20>>2];if((Jp|0)<(Kp|0)?1:(Jp|0)<=(Kp|0)?t[Ip+8>>2]>Lp>>>0?0:1:0){break a}Jp=r[Lp+q[Ip>>2]|0];Lp=Lp+1|0;if(Lp>>>0<1){Kp=Kp+1|0}q[Ip+16>>2]=Lp;q[Ip+20>>2]=Kp;Kp=Hp;if(Jp&128){if(!oi(a+1|0,Hp,Ip)){break a}a=q[Hp>>2]<<7;q[Hp>>2]=a;Jp=a|Jp&127}q[Kp>>2]=Jp;Mp=1}return Mp}function pi(a){var Hp=0;Hp=q[a+84>>2];if(Hp){q[a+88>>2]=Hp;An(Hp)}Hp=q[a+72>>2];if(Hp){q[a+76>>2]=Hp;An(Hp)}Hp=q[a+52>>2];if(Hp){q[a+56>>2]=Hp;An(Hp)}Hp=q[a+40>>2];if(Hp){q[a+44>>2]=Hp;An(Hp)}Hp=q[a+28>>2];if(Hp){q[a+32>>2]=Hp;An(Hp)}Hp=q[a+12>>2];if(Hp){An(Hp)}a=q[a>>2];if(a){An(a)}}function qi(a,Ip){var Np=0,Op=0,Pp=0,Qp=0,Rp=0,Sp=0;Op=T-32|0;T=Op;a:{b:{Pp=q[a+8>>2];Qp=a+4|0;Np=q[Qp>>2];c:{if((Pp-Np|0)/144>>>0>=Ip>>>0){while(1){q[Np>>2]=-1;Dk(Np+4|0);q[Np+104>>2]=0;q[Np+108>>2]=0;o[Np+100|0]=1;q[Np+112>>2]=0;q[Np+116>>2]=0;q[Np+120>>2]=0;q[Np+124>>2]=0;q[Np+128>>2]=0;q[Np+132>>2]=0;q[Np+136>>2]=0;q[Np+140>>2]=0;Np=q[Qp>>2]+144|0;q[Qp>>2]=Np;Ip=Ip+ -1|0;if(Ip){continue}break c}}Rp=q[a>>2];Sp=(Np-Rp|0)/144|0;Np=Sp+Ip|0;if(Np>>>0>=29826162){break b}q[Op+24>>2]=a+8;Qp=0;q[Op+20>>2]=0;Pp=(Pp-Rp|0)/144|0;Rp=Pp<<1;Pp=Pp>>>0<14913080?Rp>>>0>>0?Np:Rp:29826161;if(Pp){if(Pp>>>0>=29826162){break a}Qp=Mm(w(Pp,144))}q[Op+8>>2]=Qp;Np=w(Sp,144)+Qp|0;q[Op+16>>2]=Np;q[Op+20>>2]=w(Pp,144)+Qp;q[Op+12>>2]=Np;while(1){q[Np>>2]=-1;Dk(Np+4|0);q[Np+104>>2]=0;q[Np+108>>2]=0;o[Np+100|0]=1;q[Np+112>>2]=0;q[Np+116>>2]=0;q[Np+120>>2]=0;q[Np+124>>2]=0;q[Np+128>>2]=0;q[Np+132>>2]=0;q[Np+136>>2]=0;q[Np+140>>2]=0;Np=q[Op+16>>2]+144|0;q[Op+16>>2]=Np;Ip=Ip+ -1|0;if(Ip){continue}break}Ip=q[a+4>>2];Pp=q[a>>2];d:{if((Ip|0)==(Pp|0)){Qp=q[Op+12>>2];break d}Qp=q[Op+12>>2];while(1){Ip=Ip+ -144|0;Qp=vj(Qp+ -144|0,Ip);if((Ip|0)!=(Pp|0)){continue}break}q[Op+12>>2]=Qp;Ip=q[a+4>>2];Pp=q[a>>2]}q[a>>2]=Qp;q[Op+12>>2]=Pp;q[a+4>>2]=Np;q[Op+16>>2]=Ip;a=a+8|0;Ip=q[a>>2];q[a>>2]=q[Op+20>>2];q[Op+8>>2]=Pp;q[Op+20>>2]=Ip;wj(Op+8|0)}T=Op+32|0;return}bn();F()}ab(12024);F()}function ri(a,Ip){var Tp=0,Up=0,Vp=0,Wp=0,Xp=0,Yp=0,Zp=0,_p=0,$p=0,aq=0,bq=0,cq=0,dq=0,eq=0,fq=0,gq=0;Vp=T-32|0;T=Vp;a:{b:{if(r[q[a+4>>2]+36|0]<=1){Zp=-1;Xp=q[Ip+12>>2];Tp=q[Ip+20>>2];Wp=q[Ip+16>>2];Up=Wp+4|0;if(Up>>>0<4){Tp=Tp+1|0}Yp=Up;Up=Tp;if((Xp|0)<(Tp|0)?1:(Xp|0)<=(Tp|0)?t[Ip+8>>2]>=Yp>>>0?0:1:0){break a}Tp=Wp+q[Ip>>2]|0;$p=r[Tp|0]|r[Tp+1|0]<<8|(r[Tp+2|0]<<16|r[Tp+3|0]<<24);q[Vp+28>>2]=$p;q[Ip+16>>2]=Yp;q[Ip+20>>2]=Up;break b}Zp=-1;if(!oi(1,Vp+28|0,Ip)){break a}$p=q[Vp+28>>2]}c:{if(!$p){break c}Tp=q[a+8>>2];if($p>>>0>(q[Tp+4>>2]-q[Tp>>2]>>2>>>0)/3>>>0){break a}Tp=s[q[a+4>>2]+36>>1];if((Tp<<24|Tp<<8&16711680)>>>16>>>0>=258){Wp=a+36|0;Yp=a+44|0;Up=a+40|0;Xp=0;while(1){oi(1,Vp+8|0,Ip);q[Vp+20>>2]=q[Vp+8>>2]+Xp;oi(1,Vp+8|0,Ip);Xp=q[Vp+20>>2];Tp=q[Vp+8>>2];if(Xp>>>0>>0){break a}q[Vp+16>>2]=Xp-Tp;Tp=q[Up>>2];d:{if((Tp|0)!=q[Yp>>2]){aq=q[Vp+20>>2];q[Tp>>2]=q[Vp+16>>2];q[Tp+4>>2]=aq;q[Tp+8>>2]=q[Vp+24>>2];q[Up>>2]=q[Up>>2]+12;break d}yi(Wp,Vp+16|0)}_p=_p+1|0;if((_p|0)!=($p|0)){continue}break}Xp=0;_j(Ip,0,0);Yp=a+36|0;while(1){Tp=r[Ip+36|0];Up=s[q[a+4>>2]+36>>1];e:{if((Up<<24|Up<<8&16711680)>>>16>>>0<=513){if(!Tp){break e}Zp=0;Tp=q[Ip+32>>2];Wp=Tp>>>3;aq=q[Ip+24>>2];Up=Wp+aq|0;_p=q[Ip+28>>2];f:{if(Up>>>0>=_p>>>0){Up=Tp;break f}Zp=r[Up|0];Up=Tp+1|0;q[Ip+32>>2]=Up;Wp=Up>>>3;Zp=Zp>>>(Tp&7)&1}if(Wp+aq>>>0>=_p>>>0){break e}q[Ip+32>>2]=Up+1;break e}if(!Tp){break e}Zp=0;Tp=q[Ip+32>>2];Up=q[Ip+24>>2]+(Tp>>>3)|0;if(Up>>>0>=t[Ip+28>>2]){break e}Up=r[Up|0];q[Ip+32>>2]=Tp+1;Zp=Up>>>(Tp&7)&1}Tp=q[Yp>>2]+w(Xp,12)|0;o[Tp+8|0]=r[Tp+8|0]&254|Zp&1;Xp=Xp+1|0;if(($p|0)!=(Xp|0)){continue}break}ak(Ip);break c}fq=a+36|0;gq=a+44|0;aq=a+40|0;while(1){Wp=q[Ip+12>>2];Xp=Wp;Tp=q[Ip+20>>2];Up=Tp;_p=q[Ip+16>>2];Yp=_p+4|0;if(Yp>>>0<4){Tp=Tp+1|0}bq=q[Ip+8>>2];cq=Yp;Yp=Tp;if((Wp|0)<(Tp|0)?1:(Wp|0)<=(Tp|0)?bq>>>0>=cq>>>0?0:1:0){break a}dq=q[Ip>>2];Tp=dq+_p|0;q[Vp+16>>2]=r[Tp|0]|r[Tp+1|0]<<8|(r[Tp+2|0]<<16|r[Tp+3|0]<<24);q[Ip+16>>2]=cq;q[Ip+20>>2]=Yp;Wp=Xp;Tp=Up;Yp=_p+8|0;if(Yp>>>0<8){Tp=Tp+1|0}if((Wp|0)<(Tp|0)?1:(Wp|0)<=(Tp|0)?bq>>>0>=Yp>>>0?0:1:0){break a}Wp=cq+dq|0;q[Vp+20>>2]=r[Wp|0]|r[Wp+1|0]<<8|(r[Wp+2|0]<<16|r[Wp+3|0]<<24);q[Ip+16>>2]=Yp;q[Ip+20>>2]=Tp;if((Xp|0)<(Tp|0)?1:(Xp|0)<=(Tp|0)?bq>>>0>Yp>>>0?0:1:0){break a}Xp=r[Yp+dq|0];Wp=_p+9|0;if(Wp>>>0<9){Up=Up+1|0}Tp=Ip;q[Tp+16>>2]=Wp;q[Tp+20>>2]=Up;o[Vp+24|0]=r[Vp+24|0]&254|Xp&1;Tp=q[aq>>2];g:{if((Tp|0)!=q[gq>>2]){Up=q[Vp+20>>2];q[Tp>>2]=q[Vp+16>>2];q[Tp+4>>2]=Up;q[Tp+8>>2]=q[Vp+24>>2];q[aq>>2]=q[aq>>2]+12;break g}yi(fq,Vp+16|0)}eq=eq+1|0;if(($p|0)!=(eq|0)){continue}break}}q[Vp+16>>2]=0;h:{Tp=s[q[a+4>>2]+36>>1];Tp=(Tp<<24|Tp<<8&16711680)>>>16;i:{if(Tp>>>0<=511){Zp=-1;Xp=q[Ip+12>>2];Tp=q[Ip+20>>2];Wp=q[Ip+16>>2];Up=Wp+4|0;if(Up>>>0<4){Tp=Tp+1|0}Yp=Up;Up=Tp;if((Xp|0)<(Tp|0)?1:(Xp|0)<=(Tp|0)?t[Ip+8>>2]>=Yp>>>0?0:1:0){break a}Tp=Wp+q[Ip>>2]|0;Wp=r[Tp|0]|r[Tp+1|0]<<8|(r[Tp+2|0]<<16|r[Tp+3|0]<<24);q[Vp+16>>2]=Wp;q[Ip+16>>2]=Yp;q[Ip+20>>2]=Up;break i}if((Tp|0)!=512){break h}Zp=-1;if(!oi(1,Vp+16|0,Ip)){break a}Wp=q[Vp+16>>2]}if(!Wp){break h}Tp=s[q[a+4>>2]+36>>1];if((Tp<<24|Tp<<8&16711680)>>>16>>>0>=258){Yp=a+48|0;Zp=a+56|0;Tp=a+52|0;Xp=0;a=0;while(1){q[Vp+8>>2]=0;oi(1,Vp+4|0,Ip);a=q[Vp+4>>2]+a|0;q[Vp+8>>2]=a;Up=q[Tp>>2];j:{if((Up|0)!=q[Zp>>2]){q[Up>>2]=a;q[Tp>>2]=Up+4;break j}zi(Yp,Vp+8|0)}Xp=Xp+1|0;if((Wp|0)!=(Xp|0)){continue}break}break h}Yp=a+48|0;Zp=a+56|0;Up=a+52|0;$p=0;while(1){k:{q[Vp+8>>2]=0;Xp=q[Ip+12>>2];Tp=q[Ip+20>>2];aq=q[Ip+16>>2];a=aq+4|0;if(a>>>0<4){Tp=Tp+1|0}_p=a;a=Tp;if((Xp|0)<(Tp|0)?1:(Xp|0)<=(Tp|0)?t[Ip+8>>2]>=_p>>>0?0:1:0){break k}Tp=aq+q[Ip>>2]|0;Tp=r[Tp|0]|r[Tp+1|0]<<8|(r[Tp+2|0]<<16|r[Tp+3|0]<<24);q[Vp+8>>2]=Tp;q[Ip+16>>2]=_p;q[Ip+20>>2]=a;a=q[Up>>2];l:{if((a|0)!=q[Zp>>2]){q[a>>2]=Tp;q[Up>>2]=a+4;break l}zi(Yp,Vp+8|0)}$p=$p+1|0;if(($p|0)!=(Wp|0)){continue}break h}break}Zp=-1;break a}Zp=q[Ip+16>>2]}T=Vp+32|0;return Zp}function si(a,Ip){var hq=0,iq=0,jq=0,kq=0,lq=0,mq=0,nq=0,oq=0;nq=T-16|0;T=nq;hq=q[a+4>>2];q[a+40>>2]=q[a>>2];q[a+44>>2]=hq;jq=a+32|0;hq=jq;iq=q[hq+4>>2];q[a+72>>2]=q[hq>>2];q[a+76>>2]=iq;iq=a+24|0;lq=q[iq+4>>2];hq=a- -64|0;q[hq>>2]=q[iq>>2];q[hq+4>>2]=lq;kq=a+16|0;hq=kq;lq=q[hq+4>>2];q[a+56>>2]=q[hq>>2];q[a+60>>2]=lq;lq=a+8|0;hq=lq;mq=q[hq+4>>2];q[a+48>>2]=q[hq>>2];q[a+52>>2]=mq;a:{b:{hq=a+40|0;if(_j(hq,1,nq+8|0)){mq=q[hq+4>>2];q[a>>2]=q[hq>>2];q[a+4>>2]=mq;mq=q[hq+36>>2];q[jq>>2]=q[hq+32>>2];q[jq+4>>2]=mq;jq=q[hq+28>>2];q[iq>>2]=q[hq+24>>2];q[iq+4>>2]=jq;iq=q[hq+20>>2];mq=iq;jq=q[hq+16>>2];q[kq>>2]=jq;q[kq+4>>2]=iq;iq=q[hq+12>>2];kq=iq;hq=q[hq+8>>2];q[lq>>2]=hq;q[lq+4>>2]=iq;iq=jq;lq=hq-iq|0;oq=q[nq+12>>2];iq=kq-((hq>>>0>>0)+mq|0)|0;hq=q[nq+8>>2];if((oq|0)==(iq|0)&hq>>>0<=lq>>>0|oq>>>0>>0){break b}}hq=0;break a}kq=mq+oq|0;jq=hq+jq|0;if(jq>>>0>>0){kq=kq+1|0}q[a+16>>2]=jq;q[a+20>>2]=kq;c:{if(s[a+38>>1]<=513){hq=q[a+4>>2];q[a+96>>2]=q[a>>2];q[a+100>>2]=hq;jq=a+32|0;hq=jq;iq=q[hq+4>>2];q[a+128>>2]=q[hq>>2];q[a+132>>2]=iq;iq=a+24|0;hq=iq;kq=q[hq+4>>2];q[a+120>>2]=q[hq>>2];q[a+124>>2]=kq;kq=a+16|0;hq=kq;lq=q[hq+4>>2];q[a+112>>2]=q[hq>>2];q[a+116>>2]=lq;lq=a+8|0;hq=lq;mq=q[hq+4>>2];q[a+104>>2]=q[hq>>2];q[a+108>>2]=mq;d:{hq=a+96|0;if(_j(hq,1,nq+8|0)){mq=q[hq+4>>2];q[a>>2]=q[hq>>2];q[a+4>>2]=mq;mq=q[hq+36>>2];q[jq>>2]=q[hq+32>>2];q[jq+4>>2]=mq;jq=q[hq+28>>2];q[iq>>2]=q[hq+24>>2];q[iq+4>>2]=jq;iq=q[hq+20>>2];mq=iq;jq=q[hq+16>>2];q[kq>>2]=jq;q[kq+4>>2]=iq;iq=q[hq+12>>2];kq=iq;hq=q[hq+8>>2];q[lq>>2]=hq;q[lq+4>>2]=iq;iq=jq;lq=hq-iq|0;oq=q[nq+12>>2];iq=kq-((hq>>>0>>0)+mq|0)|0;hq=q[nq+8>>2];if((oq|0)==(iq|0)&hq>>>0<=lq>>>0|oq>>>0>>0){break d}}hq=0;break a}kq=mq+oq|0;jq=hq+jq|0;if(jq>>>0>>0){kq=kq+1|0}q[a+16>>2]=jq;q[a+20>>2]=kq;break c}hq=0;if(!bh(a+80|0,a)){break a}}hq=0;if(!Ai(a)){break a}hq=q[a+4>>2];q[Ip>>2]=q[a>>2];q[Ip+4>>2]=hq;hq=q[a+36>>2];q[Ip+32>>2]=q[a+32>>2];q[Ip+36>>2]=hq;hq=q[a+28>>2];q[Ip+24>>2]=q[a+24>>2];q[Ip+28>>2]=hq;hq=q[a+20>>2];q[Ip+16>>2]=q[a+16>>2];q[Ip+20>>2]=hq;hq=q[a+12>>2];q[Ip+8>>2]=q[a+8>>2];q[Ip+12>>2]=hq;hq=1}T=nq+16|0;return hq}function ti(a,Ip){var pq=0,qq=0,rq=0,sq=0,tq=0,uq=0,vq=0,wq=0,xq=0,yq=0,zq=0,Aq=0,Bq=0,Cq=0,Dq=0,Eq=0,Fq=0,Gq=0,Hq=0,Iq=0,Jq=0,Kq=0,Lq=0;sq=T-96|0;T=sq;q[sq+72>>2]=0;q[sq+64>>2]=0;q[sq+68>>2]=0;q[sq+48>>2]=0;q[sq+52>>2]=0;q[sq+40>>2]=0;q[sq+44>>2]=0;q[sq+56>>2]=1065353216;q[sq+32>>2]=0;q[sq+24>>2]=0;q[sq+28>>2]=0;Jq=q[a+124>>2];a:{b:{c:{d:{if((Ip|0)>=1){Iq=a+8|0;Fq=q[a+216>>2]!=q[a+220>>2];Gq=a+40|0;while(1){e:{f:{g:{h:{i:{j:{k:{if(!r[a+308|0]){break k}l:{m:{wq=q[a+296>>2];yq=q[a+304>>2];pq=wq+(yq>>>3)|0;uq=q[a+300>>2];if(pq>>>0>=uq>>>0){break m}pq=r[pq|0];qq=yq+1|0;q[a+304>>2]=qq;if(!(pq>>>(yq&7)&1)){break m}pq=qq>>>3;rq=wq+pq|0;n:{if(rq>>>0>=uq>>>0){rq=qq;qq=0;break n}vq=r[rq|0];rq=yq+2|0;q[a+304>>2]=rq;pq=rq>>>3;qq=vq>>>(qq&7)&1}pq=pq+wq|0;if(pq>>>0>>0){pq=r[pq|0];q[a+304>>2]=rq+1;pq=pq>>>(rq&7)<<1&2}else{pq=0}pq=(qq|pq)<<1|1;switch(pq+ -2|0){case 0:case 2:case 4:break h;case 5:break j;case 1:case 3:break l;default:break k}}qq=q[sq+68>>2];if((qq|0)==q[sq+64>>2]){break d}wq=-1;Aq=q[Iq>>2];uq=q[Aq+24>>2];rq=uq;vq=qq+ -4|0;Dq=q[vq>>2];pq=-1;o:{if((Dq|0)==-1){break o}qq=Dq+1|0;qq=(qq>>>0)%3|0?qq:Dq+ -2|0;pq=-1;if((qq|0)==-1){break o}pq=q[q[Aq>>2]+(qq<<2)>>2]}rq=q[rq+(pq<<2)>>2];if((rq|0)!=-1){qq=rq+1|0;wq=(qq>>>0)%3|0?qq:rq+ -2|0}rq=q[Aq+12>>2];Bq=w(tq,3);qq=Bq+1|0;q[rq+(Dq<<2)>>2]=qq;qq=qq<<2;q[qq+rq>>2]=Dq;zq=Bq+2|0;q[rq+(wq<<2)>>2]=zq;yq=zq<<2;q[yq+rq>>2]=wq;Cq=q[Aq>>2];q[Cq+(Bq<<2)>>2]=pq;rq=qq+Cq|0;xq=-1;p:{if((wq|0)==-1){break p}qq=wq+1|0;qq=(qq>>>0)%3|0?qq:wq+ -2|0;xq=-1;if((qq|0)==-1){break p}xq=q[Cq+(qq<<2)>>2]}q[rq>>2]=xq;q:{r:{if((Dq|0)!=-1){qq=Dq+((Dq>>>0)%3|0?-1:2)|0;if((qq|0)!=-1){break r}}q[yq+Cq>>2]=-1;break q}qq=q[Cq+(qq<<2)>>2];q[yq+Cq>>2]=qq;if((qq|0)==-1){break q}q[uq+(qq<<2)>>2]=zq}rq=q[a+120>>2]+(pq>>>3&536870908)|0;qq=q[rq>>2];Kq=rq,Lq=eo(pq)&qq,q[Kq>>2]=Lq;q[vq>>2]=Bq;break e}rq=q[sq+68>>2];if((rq|0)==q[sq+64>>2]){break d}yq=q[Iq>>2];qq=q[yq+12>>2];zq=w(tq,3);wq=(pq|0)==5;uq=zq+(wq?2:1)|0;pq=uq<<2;Cq=q[rq+ -4>>2];q[qq+pq>>2]=Cq;q[qq+(Cq<<2)>>2]=uq;vq=yq+24|0;rq=yq+28|0;qq=q[rq>>2];s:{if((qq|0)!=q[yq+32>>2]){q[qq>>2]=-1;Aq=qq+4|0;q[rq>>2]=Aq;break s}zi(vq,11312);Aq=q[rq>>2]}rq=-1;qq=q[Iq>>2];yq=q[qq+24>>2];if(q[qq+28>>2]-yq>>2>(Jq|0)){break c}rq=zq+2|0;Bq=q[qq>>2];xq=Bq+pq|0;qq=Aq-q[vq>>2]|0;pq=(qq>>2)+ -1|0;q[xq>>2]=pq;if(qq){q[yq+(pq<<2)>>2]=uq}rq=wq?zq:rq;qq=Bq+(wq+zq<<2)|0;t:{u:{v:{if((Cq|0)!=-1){pq=Cq+((Cq>>>0)%3|0?-1:2)|0;if((pq|0)==-1){break v}pq=q[Bq+(pq<<2)>>2];q[Bq+(rq<<2)>>2]=pq;if((pq|0)==-1){break u}q[yq+(pq<<2)>>2]=rq;break u}q[Bq+(rq<<2)>>2]=-1;rq=-1;break t}q[Bq+(rq<<2)>>2]=-1}pq=Cq+1|0;pq=(pq>>>0)%3|0?pq:Cq+ -2|0;rq=-1;if((pq|0)==-1){break t}rq=q[Bq+(pq<<2)>>2]}q[qq>>2]=rq;q[q[sq+68>>2]+ -4>>2]=zq;break i}rq=-1;pq=q[sq+68>>2];Aq=q[sq+64>>2];if((pq|0)==(Aq|0)){break c}qq=pq+ -4|0;Eq=q[qq>>2];q[sq+68>>2]=qq;zq=q[sq+44>>2];w:{if(!zq){pq=qq;break w}uq=q[sq+40>>2];yq=co(zq)>>>0>1;vq=zq+2147483647&tq;x:{if(!yq){break x}vq=tq;if(tq>>>0>>0){break x}vq=(tq>>>0)%(zq>>>0)|0}uq=q[uq+(vq<<2)>>2];if(!uq){pq=qq;break w}xq=q[uq>>2];if(!xq){pq=qq;break w}uq=zq+ -1|0;y:{while(1){wq=q[xq+4>>2];z:{if((wq|0)!=(tq|0)){A:{if(!yq){wq=wq&uq;break A}if(wq>>>0>>0){break A}wq=(wq>>>0)%(zq>>>0)|0}if((wq|0)==(vq|0)){break z}pq=qq;break w}if(q[xq+8>>2]==(tq|0)){break y}}xq=q[xq>>2];if(xq){continue}break}pq=qq;break w}vq=xq+12|0;if((qq|0)!=q[sq+72>>2]){q[qq>>2]=q[vq>>2];q[sq+68>>2]=pq;break w}zi(sq- -64|0,vq);pq=q[sq+68>>2];Aq=q[sq+64>>2]}if((pq|0)==(Aq|0)){break c}Dq=q[pq+ -4>>2];vq=(Dq|0)==-1;Hq=q[Iq>>2];if(q[q[Hq+12>>2]+(Dq<<2)>>2]!=-1?!vq:0){break c}yq=(Eq|0)==-1;zq=Hq+12|0;uq=q[zq>>2];if(q[uq+(Eq<<2)>>2]!=-1?!yq:0){break c}Cq=w(tq,3);Aq=Cq+2|0;q[uq+(Dq<<2)>>2]=Aq;Bq=Aq<<2;q[Bq+uq>>2]=Dq;qq=Cq+1|0;q[uq+(Eq<<2)>>2]=qq;wq=uq;uq=qq<<2;q[wq+uq>>2]=Eq;if(vq){break g}wq=-1;vq=q[Hq>>2];xq=vq+(Cq<<2)|0;qq=Dq+((Dq>>>0)%3|0?-1:2)|0;if((qq|0)!=-1){wq=q[(qq<<2)+vq>>2]}q[xq>>2]=wq;qq=Dq+1|0;qq=(qq>>>0)%3|0?qq:Dq+ -2|0;if((qq|0)==-1){break f}rq=q[(qq<<2)+vq>>2];break f}q[sq>>2]=w(tq,3);pq=q[Iq>>2];rq=pq+24|0;uq=q[pq+32>>2];qq=pq+28|0;pq=q[qq>>2];B:{if((uq|0)!=(pq|0)){q[pq>>2]=-1;pq=pq+4|0;q[qq>>2]=pq;break B}zi(rq,11312);pq=q[qq>>2]}Aq=q[Iq>>2];wq=q[Aq>>2];qq=q[sq>>2];yq=pq-q[rq>>2]|0;zq=yq>>2;rq=zq+ -1|0;q[wq+(qq<<2)>>2]=rq;qq=qq+1|0;uq=Aq+24|0;vq=Aq+28|0;pq=q[vq>>2];C:{if((pq|0)!=q[Aq+32>>2]){q[pq>>2]=-1;pq=pq+4|0;q[vq>>2]=pq;break C}zi(uq,11312);pq=q[vq>>2];wq=q[Aq>>2]}q[(qq<<2)+wq>>2]=(pq-q[uq>>2]>>2)+ -1;pq=q[sq>>2]+2|0;uq=q[Iq>>2];qq=uq+28|0;vq=q[qq>>2];D:{if((vq|0)!=q[uq+32>>2]){q[vq>>2]=-1;wq=vq+4|0;q[qq>>2]=wq;break D}zi(uq+24|0,11312);wq=q[qq>>2]}q[q[uq>>2]+(pq<<2)>>2]=(wq-q[uq+24>>2]>>2)+ -1;pq=q[Iq>>2];qq=q[pq+24>>2];if(q[pq+28>>2]-qq>>2>(Jq|0)){break d}pq=q[sq>>2];E:{F:{if(!yq){wq=1;q[qq+(zq<<2)>>2]=pq+1;break F}q[qq+(rq<<2)>>2]=pq;wq=0;if((yq|0)==-4){break F}q[qq+(zq<<2)>>2]=q[sq>>2]+1;wq=zq+1|0;if((wq|0)==-1){break E}}q[qq+(wq<<2)>>2]=q[sq>>2]+2}pq=q[sq+68>>2];if((pq|0)!=q[sq+72>>2]){q[pq>>2]=q[sq>>2];q[sq+68>>2]=pq+4;break i}zi(sq- -64|0,sq)}xq=q[Gq>>2];if((xq|0)==q[a+36>>2]){break e}uq=(tq^-1)+Ip|0;while(1){rq=-1;pq=q[xq+ -8>>2];if(pq>>>0>uq>>>0){break c}if((pq|0)!=(uq|0)){break e}qq=r[xq+ -4|0];pq=xq+ -12|0;vq=q[pq>>2];q[Gq>>2]=pq;if((vq|0)<0){break c}rq=q[q[sq+68>>2]+ -4>>2];q[sq+20>>2]=(vq^-1)+Ip;q[sq+88>>2]=sq+20;Bi(sq,sq+40|0,sq+20|0,sq+88|0);vq=q[sq>>2];G:{if(qq&1){pq=-1;if((rq|0)==-1){break G}pq=rq+1|0;pq=(pq>>>0)%3|0?pq:rq+ -2|0;break G}pq=-1;if((rq|0)==-1){break G}pq=rq+ -1|0;if((rq>>>0)%3){break G}pq=rq+2|0}q[vq+12>>2]=pq;xq=q[Gq>>2];if((xq|0)!=q[a+36>>2]){continue}break}break e}F()}wq=-1;vq=q[Hq>>2];q[vq+(Cq<<2)>>2]=-1}q[uq+vq>>2]=rq;H:{I:{J:{if(!yq){qq=Eq+((Eq>>>0)%3|0?-1:2)|0;if((qq|0)==-1){break J}qq=q[(qq<<2)+vq>>2];q[vq+Bq>>2]=qq;if((qq|0)==-1){break I}q[q[Hq+24>>2]+(qq<<2)>>2]=Aq;break I}q[vq+Bq>>2]=-1;xq=-1;rq=-1;break H}q[vq+Bq>>2]=-1}xq=-1;qq=Eq+1|0;qq=(qq>>>0)%3|0?qq:Eq+ -2|0;rq=-1;if((qq|0)==-1){break H}xq=q[(qq<<2)+vq>>2];rq=qq}q[sq>>2]=xq;uq=q[Hq+24>>2];if((wq|0)!=-1){q[uq+(wq<<2)>>2]=q[uq+(xq<<2)>>2]}K:{if((rq|0)==-1){break K}vq=q[Hq>>2];while(1){q[vq+(rq<<2)>>2]=wq;qq=rq+1|0;qq=(qq>>>0)%3|0?qq:rq+ -2|0;if((qq|0)==-1){break K}rq=q[q[zq>>2]+(qq<<2)>>2];if((rq|0)==-1){break K}qq=rq+1|0;rq=(qq>>>0)%3|0?qq:rq+ -2|0;if((rq|0)!=-1){continue}break}}q[uq+(q[sq>>2]<<2)>>2]=-1;L:{if(Fq){break L}qq=q[sq+28>>2];if((qq|0)!=q[sq+32>>2]){q[qq>>2]=q[sq>>2];q[sq+28>>2]=qq+4;break L}zi(sq+24|0,sq);pq=q[sq+68>>2]}q[pq+ -4>>2]=Cq}tq=tq+1|0;if((tq|0)!=(Ip|0)){continue}break}wq=Ip}rq=-1;xq=q[a+8>>2];if(q[xq+28>>2]-q[xq+24>>2]>>2>(Jq|0)){break c}tq=q[sq+68>>2];if((tq|0)!=q[sq+64>>2]){Dq=a+72|0;qq=a+60|0;Aq=a+312|0;Fq=a+8|0;Cq=a+68|0;Jq=a+80|0;Hq=a+76|0;while(1){pq=tq+ -4|0;Ip=q[pq>>2];q[sq+68>>2]=pq;q[sq>>2]=Ip;M:{N:{O:{P:{if(s[a+270>>1]<=513){if(!r[a+364|0]){break O}pq=q[a+360>>2];Ip=q[a+352>>2]+(pq>>>3)|0;if(Ip>>>0>=t[a+356>>2]){break N}Ip=r[Ip|0];q[a+360>>2]=pq+1;Ip=Ip>>>(pq&7)&1;break P}Ip=dh(Aq)}if(!Ip){break N}}zq=q[Fq>>2];Eq=q[zq>>2];if((wq|0)>=((q[zq+4>>2]-Eq>>2>>>0)/3|0)){break d}pq=-1;xq=-1;tq=q[zq+24>>2];uq=tq;Gq=q[sq>>2];vq=-1;Q:{if((Gq|0)==-1){break Q}Ip=Gq+1|0;Ip=(Ip>>>0)%3|0?Ip:Gq+ -2|0;vq=-1;if((Ip|0)==-1){break Q}vq=q[Eq+(Ip<<2)>>2]}uq=q[uq+(vq<<2)>>2];R:{if((uq|0)==-1){break R}Ip=uq+1|0;Ip=(Ip>>>0)%3|0?Ip:uq+ -2|0;if((Ip|0)==-1){break R}pq=Ip+1|0;pq=(pq>>>0)%3|0?pq:Ip+ -2|0;if((pq|0)!=-1){xq=q[Eq+(pq<<2)>>2]}pq=Ip}Ip=-1;Bq=-1;yq=q[tq+(xq<<2)>>2];uq=-1;S:{if((yq|0)==-1){break S}tq=yq+1|0;tq=(tq>>>0)%3|0?tq:yq+ -2|0;uq=-1;if((tq|0)==-1){break S}uq=tq+1|0;uq=(uq>>>0)%3|0?uq:tq+ -2|0;if((uq|0)!=-1){Bq=q[Eq+(uq<<2)>>2]}uq=tq}tq=w(wq,3);q[sq+88>>2]=tq;yq=q[zq+12>>2];q[yq+(tq<<2)>>2]=Gq;q[yq+(Gq<<2)>>2]=tq;tq=q[sq+88>>2]+1|0;q[yq+(tq<<2)>>2]=pq;q[yq+(pq<<2)>>2]=tq;pq=q[sq+88>>2]+2|0;q[yq+(pq<<2)>>2]=uq;q[yq+(uq<<2)>>2]=pq;pq=q[sq+88>>2];q[Eq+(pq<<2)>>2]=xq;Gq=pq+1|0;zq=Eq+(Gq<<2)|0;q[zq>>2]=Bq;yq=pq+2|0;uq=Eq+(yq<<2)|0;q[uq>>2]=vq;Bq=q[a+120>>2];tq=Gq>>>0>>0?-1:xq;vq=Bq+(tq>>>3&536870908)|0;pq=q[vq>>2];Kq=vq,Lq=eo(tq)&pq,q[Kq>>2]=Lq;Ip=(Gq|0)!=-1?q[zq>>2]:Ip;vq=Bq+(Ip>>>3&536870908)|0;pq=q[vq>>2];Kq=vq,Lq=eo(Ip)&pq,q[Kq>>2]=Lq;tq=-1;tq=(yq|0)!=-1?q[uq>>2]:tq;pq=Bq+(tq>>>3&536870908)|0;Ip=q[pq>>2];Kq=pq,Lq=eo(tq)&Ip,q[Kq>>2]=Lq;tq=q[a+64>>2];pq=q[Cq>>2];if((tq|0)==pq<<5){if((tq+1|0)<=-1){break a}Ip=qq;if(tq>>>0<=1073741822){vq=tq+32&-32;pq=pq<<6;pq=pq>>>0>>0?vq:pq}else{pq=2147483647}cb(Ip,pq);tq=q[a+64>>2]}wq=wq+1|0;q[a+64>>2]=tq+1;Ip=q[a+60>>2]+(tq>>>3&536870908)|0;q[Ip>>2]=q[Ip>>2]|1<<(tq&31);Ip=q[Hq>>2];if((Ip|0)!=q[Jq>>2]){q[Ip>>2]=q[sq+88>>2];q[Hq>>2]=Ip+4;break M}zi(Dq,sq+88|0);break M}tq=q[a+64>>2];pq=q[Cq>>2];if((tq|0)==pq<<5){if((tq+1|0)<=-1){break a}Ip=qq;if(tq>>>0<=1073741822){vq=tq+32&-32;pq=pq<<6;pq=pq>>>0>>0?vq:pq}else{pq=2147483647}cb(Ip,pq);tq=q[a+64>>2]}q[a+64>>2]=tq+1;pq=q[a+60>>2]+(tq>>>3&536870908)|0;Ip=q[pq>>2];Kq=pq,Lq=eo(tq)&Ip,q[Kq>>2]=Lq;Ip=q[Hq>>2];if((Ip|0)!=q[Jq>>2]){q[Ip>>2]=q[sq>>2];q[Hq>>2]=Ip+4;break M}zi(Dq,sq)}tq=q[sq+68>>2];if((tq|0)!=q[sq+64>>2]){continue}break}xq=q[a+8>>2]}if(((q[xq+4>>2]-q[xq>>2]>>2>>>0)/3|0)!=(wq|0)){break c}rq=q[xq+28>>2]-q[xq+24>>2]>>2;Fq=q[sq+24>>2];uq=q[sq+28>>2];if((Fq|0)==(uq|0)){break b}vq=a+8|0;while(1){zq=q[Fq>>2];wq=q[xq+24>>2];tq=rq+ -1|0;T:{if(q[wq+(tq<<2)>>2]!=-1){pq=rq;break T}wq=q[xq+24>>2];while(1){tq=rq+ -2|0;pq=rq+ -1|0;rq=pq;if(q[(tq<<2)+wq>>2]==-1){continue}break}}if(!(tq>>>0>>0)){q[sq>>2]=xq;Ip=tq<<2;rq=q[Ip+wq>>2];o[sq+12|0]=1;q[sq+8>>2]=rq;q[sq+4>>2]=rq;if((rq|0)!=-1){while(1){q[q[xq>>2]+(rq<<2)>>2]=zq;lg(sq);xq=q[vq>>2];rq=q[sq+8>>2];if((rq|0)!=-1){continue}break}}qq=Ip;Ip=q[xq+24>>2];qq=qq+Ip|0;if((zq|0)!=-1){q[Ip+(zq<<2)>>2]=q[qq>>2]}q[qq>>2]=-1;yq=1<<(zq&31);Ip=q[a+120>>2];rq=Ip+(zq>>>3&536870908)|0;qq=rq;wq=Ip+(tq>>>3&536870908)|0;Ip=1<<(tq&31);tq=yq|q[rq>>2];U:{if(q[wq>>2]&Ip){break U}tq=q[rq>>2]&(yq^-1)}q[qq>>2]=tq;q[wq>>2]=q[wq>>2]&(Ip^-1);pq=pq+ -1|0}rq=pq;Fq=Fq+4|0;if((uq|0)!=(Fq|0)){continue}break}break c}rq=-1}Fq=q[sq+24>>2]}if(Fq){q[sq+28>>2]=Fq;An(Fq)}tq=q[sq+48>>2];if(tq){while(1){a=q[tq>>2];An(tq);tq=a;if(tq){continue}break}}a=q[sq+40>>2];q[sq+40>>2]=0;if(a){An(a)}a=q[sq+64>>2];if(a){q[sq+68>>2]=a;An(a)}T=sq+96|0;return rq}bn();F()}function ui(a,Ip){var Mq=0,Nq=0,Oq=0,Pq=0,Qq=0,Rq=0,Sq=0,Tq=0,Uq=0,Vq=0,Wq=0;Nq=T-32|0;T=Nq;q[Nq+16>>2]=Ip;Mq=-1;a:{if((Ip|0)==-1){q[Nq+20>>2]=-1;break a}Mq=Ip+1|0;q[Nq+20>>2]=(Mq>>>0)%3|0?Mq:Ip+ -2|0;if((Ip>>>0)%3){Mq=Ip+ -1|0;break a}Mq=Ip+2|0}q[Nq+24>>2]=Mq;Rq=a+220|0;Vq=a+8|0;Wq=a+368|0;while(1){b:{if(!((Ip|0)==-1|q[q[q[Vq>>2]+12>>2]+(Ip<<2)>>2]==-1)){Mq=0;if(q[Rq>>2]==q[a+216>>2]){break b}while(1){c:{if(!dh(q[Wq>>2]+(Mq<<4)|0)){break c}Oq=q[a+216>>2];q[Nq+12>>2]=Ip;Oq=Oq+w(Mq,144)|0;Qq=Oq+136|0;Pq=q[Qq>>2];if(Pq>>>0>2]){q[Pq>>2]=Ip;q[Qq>>2]=Pq+4;break c}ya(Oq+132|0,Nq+12|0)}Mq=Mq+1|0;if(Mq>>>0<(q[Rq>>2]-q[a+216>>2]|0)/144>>>0){continue}break}break b}Mq=0;Oq=q[a+216>>2];Pq=q[Rq>>2];if((Oq|0)==(Pq|0)){break b}while(1){q[Nq+12>>2]=Ip;Qq=w(Mq,144)+Oq|0;Uq=Qq+136|0;Sq=q[Uq>>2];d:{if(Sq>>>0>2]){q[Sq>>2]=Ip;q[Uq>>2]=Sq+4;break d}ya(Qq+132|0,Nq+12|0);Pq=q[Rq>>2];Oq=q[a+216>>2]}Mq=Mq+1|0;if(Mq>>>0<(Pq-Oq|0)/144>>>0){continue}break}}Tq=Tq+1|0;if((Tq|0)!=3){Ip=q[(Nq+16|0)+(Tq<<2)>>2];continue}break}T=Nq+32|0;return 1}function vi(a,Ip){var Xq=0,Yq=0,Zq=0,_q=0,$q=0,ar=0,br=0,cr=0,dr=0,er=0,fr=0,gr=0;Yq=T-32|0;T=Yq;q[Yq+16>>2]=Ip;Xq=-1;a:{if((Ip|0)==-1){q[Yq+20>>2]=-1;break a}Xq=Ip+1|0;q[Yq+20>>2]=(Xq>>>0)%3|0?Xq:Ip+ -2|0;if((Ip>>>0)%3){Xq=Ip+ -1|0;break a}Xq=Ip+2|0}q[Yq+24>>2]=Xq;er=(Ip|0)==-1?-1:(Ip>>>0)/3|0;ar=a+220|0;fr=a+8|0;gr=a+368|0;while(1){b:{c:{if((Ip|0)!=-1){Xq=q[q[q[fr>>2]+12>>2]+(Ip<<2)>>2];if((Xq|0)!=-1){break c}}Xq=0;Zq=q[a+216>>2];_q=q[ar>>2];if((Zq|0)==(_q|0)){break b}while(1){q[Yq+12>>2]=Ip;$q=w(Xq,144)+Zq|0;dr=$q+136|0;br=q[dr>>2];d:{if(br>>>0>2]){q[br>>2]=Ip;q[dr>>2]=br+4;break d}ya($q+132|0,Yq+12|0);_q=q[ar>>2];Zq=q[a+216>>2]}Xq=Xq+1|0;if(Xq>>>0<(_q-Zq|0)/144>>>0){continue}break}break b}if((Xq>>>0)/3>>>0>>0){break b}Xq=0;if(q[ar>>2]==q[a+216>>2]){break b}while(1){e:{if(!dh(q[gr>>2]+(Xq<<4)|0)){break e}Zq=q[a+216>>2];q[Yq+12>>2]=Ip;Zq=Zq+w(Xq,144)|0;$q=Zq+136|0;_q=q[$q>>2];if(_q>>>0>2]){q[_q>>2]=Ip;q[$q>>2]=_q+4;break e}ya(Zq+132|0,Yq+12|0)}Xq=Xq+1|0;if(Xq>>>0<(q[ar>>2]-q[a+216>>2]|0)/144>>>0){continue}break}}cr=cr+1|0;if((cr|0)!=3){Ip=q[(Yq+16|0)+(cr<<2)>>2];continue}break}T=Yq+32|0;return 1}function wi(a,Ip){var hr=0,ir=0,jr=0,kr=0,lr=0;ir=q[a+12>>2];hr=q[a+16>>2]-ir>>2;a:{if(hr>>>0>>0){Fa(a+12|0,Ip-hr|0);break a}if(hr>>>0<=Ip>>>0){break a}q[a+16>>2]=ir+(Ip<<2)}b:{hr=q[a>>2];c:{if(q[a+8>>2]-hr>>2>>>0>=Ip>>>0){break c}if(Ip>>>0>=1073741824){break b}kr=a+4|0;ir=q[kr>>2];jr=Ip<<2;Ip=Mm(jr);jr=Ip+jr|0;ir=ir-hr|0;lr=ir+Ip|0;if((ir|0)>=1){Cn(Ip,hr,ir)}q[a>>2]=Ip;q[a+8>>2]=jr;q[kr>>2]=lr;if(!hr){break c}An(hr)}return}ab(12024);F()}function xi(a,Ip){var mr=0,nr=0,or=0,pr=0,qr=0,rr=0,sr=0,tr=0,ur=0,vr=0,wr=0,xr=0,yr=0,zr=0,Ar=0,Br=0;nr=T-48|0;T=nr;mr=q[a+8>>2];or=q[mr>>2];qr=q[mr+4>>2];mr=q[q[a+4>>2]+44>>2];q[nr+40>>2]=0;q[nr+32>>2]=0;q[nr+36>>2]=0;or=(qr-or>>2>>>0)/3|0;pr=q[mr+96>>2];qr=(q[mr+100>>2]-pr|0)/12|0;a:{if(or>>>0>qr>>>0){Ci(mr+96|0,or-qr|0,nr+32|0);break a}if(or>>>0>=qr>>>0){break a}q[mr+100>>2]=pr+w(or,12)}b:{if(q[a+216>>2]==q[a+220>>2]){ur=q[a+4>>2];mr=q[ur+44>>2];or=q[mr+100>>2];sr=q[mr+96>>2];if((or|0)!=(sr|0)){vr=(or-sr|0)/12|0;wr=nr+40|0;mr=0;while(1){q[wr>>2]=0;q[nr+32>>2]=0;q[nr+36>>2]=0;qr=nr;c:{d:{e:{pr=w(mr,3);if((pr|0)==-1){or=-1;q[nr+32>>2]=-1;rr=0;break e}or=q[q[q[a+8>>2]>>2]+(pr<<2)>>2];q[nr+32>>2]=or;rr=pr+1|0;if((rr|0)!=-1){break e}q[nr+36>>2]=-1;pr=0;break d}q[nr+36>>2]=q[q[q[a+8>>2]>>2]+(rr<<2)>>2];pr=pr+2|0;xr=-1;if((pr|0)==-1){break c}}xr=q[q[q[a+8>>2]>>2]+(pr<<2)>>2]}q[qr+40>>2]=xr;qr=sr+w(mr,12)|0;q[qr>>2]=or;q[qr+4>>2]=q[nr+36>>2];q[qr+8>>2]=q[nr+40>>2];mr=mr+1|0;if(mr>>>0>>0){continue}break}}q[q[ur+4>>2]+80>>2]=Ip;mr=1;break b}q[nr+40>>2]=0;q[nr+32>>2]=0;q[nr+36>>2]=0;pr=q[a+8>>2];Ip=q[pr>>2];mr=q[pr+4>>2];q[nr+24>>2]=0;q[nr+16>>2]=0;q[nr+20>>2]=0;f:{g:{h:{Ip=mr-Ip|0;if(Ip){or=Ip>>2;if(or>>>0>=1073741824){break h}mr=Mm(Ip);q[nr+16>>2]=mr;q[nr+24>>2]=mr+(or<<2);Ar=nr,Br=Dn(mr,0,Ip)+Ip|0,q[Ar+20>>2]=Br}if((q[pr+28>>2]-q[pr+24>>2]|0)<1){break g}ur=a+220|0;vr=a+8|0;while(1){or=q[q[pr+24>>2]+(sr<<2)>>2];i:{if((or|0)==-1){break i}j:{if(q[q[a+120>>2]+(sr>>>3&536870908)>>2]>>>(sr&31)&1){break j}Ip=q[ur>>2];wr=q[a+216>>2];if((Ip|0)==(wr|0)){break j}xr=(Ip-wr|0)/144|0;yr=((or>>>0)%3|0?-1:2)+or|0;rr=0;while(1){zr=or<<2;tr=wr+w(rr,144)|0;Ip=q[zr+q[q[tr+68>>2]>>2]>>2];k:{if(!(q[q[tr+16>>2]+(Ip>>>3&536870908)>>2]>>>(Ip&31)&1)){break k}Ip=or;mr=-1;l:{if((yr|0)==-1){break l}qr=q[q[pr+12>>2]+(yr<<2)>>2];mr=-1;if((qr|0)==-1){break l}mr=qr+ -1|0;if((qr>>>0)%3){break l}mr=qr+2|0}if((Ip|0)==(mr|0)){break k}tr=q[tr+32>>2];zr=q[tr+zr>>2];while(1){Ip=0;if((mr|0)==-1){break f}if((zr|0)!=q[tr+(mr<<2)>>2]){or=mr;break j}qr=or;mr=((mr>>>0)%3|0?-1:2)+mr|0;Ip=-1;m:{if((mr|0)==-1){break m}mr=q[q[pr+12>>2]+(mr<<2)>>2];Ip=-1;if((mr|0)==-1){break m}Ip=mr+ -1|0;if((mr>>>0)%3){break m}Ip=mr+2|0}mr=Ip;if((qr|0)!=(mr|0)){continue}break}}rr=rr+1|0;if(rr>>>0>>0){continue}break}}Ip=q[nr+36>>2];q[q[nr+16>>2]+(or<<2)>>2]=Ip-q[nr+32>>2]>>2;q[nr>>2]=or;n:{if(t[nr+40>>2]>Ip>>>0){q[Ip>>2]=or;q[nr+36>>2]=Ip+4;break n}ya(nr+32|0,nr);pr=q[vr>>2]}if((or|0)==-1){break i}Ip=((or>>>0)%3|0?-1:2)+or|0;if((Ip|0)==-1){break i}Ip=q[q[pr+12>>2]+(Ip<<2)>>2];if((Ip|0)==-1){break i}mr=Ip+((Ip>>>0)%3|0?-1:2)|0;if((mr|0)==-1){break i}qr=or;if((mr|0)==(or|0)){break i}while(1){Ip=mr;o:{p:{mr=q[ur>>2];rr=q[a+216>>2];if((mr|0)==(rr|0)){break p}wr=(mr-rr|0)/144|0;mr=0;while(1){yr=q[(rr+w(mr,144)|0)+32>>2];tr=Ip<<2;if(q[yr+tr>>2]==q[yr+(qr<<2)>>2]){mr=mr+1|0;if(mr>>>0>>0){continue}break p}break}mr=q[nr+36>>2];q[tr+q[nr+16>>2]>>2]=mr-q[nr+32>>2]>>2;q[nr>>2]=Ip;if(t[nr+40>>2]>mr>>>0){q[mr>>2]=Ip;q[nr+36>>2]=mr+4;break o}ya(nr+32|0,nr);pr=q[vr>>2];break o}mr=q[nr+16>>2];q[mr+(Ip<<2)>>2]=q[mr+(qr<<2)>>2]}if((Ip|0)==-1){break i}mr=Ip+((Ip>>>0)%3|0?-1:2)|0;if((mr|0)==-1){break i}mr=q[q[pr+12>>2]+(mr<<2)>>2];if((mr|0)==-1){break i}mr=mr+((mr>>>0)%3|0?-1:2)|0;if((mr|0)==-1){break i}qr=Ip;if((mr|0)!=(or|0)){continue}break}}sr=sr+1|0;if((sr|0)>2]-q[pr+24>>2]>>2){continue}break}break g}bn();F()}or=q[a+4>>2];a=q[or+44>>2];Ip=q[a+100>>2];a=q[a+96>>2];if((Ip|0)!=(a|0)){qr=(Ip-a|0)/12|0;mr=0;pr=q[nr+16>>2];while(1){sr=nr+8|0;rr=w(mr,12);Ip=rr+pr|0;q[sr>>2]=q[Ip+8>>2];ur=q[Ip+4>>2];vr=q[Ip>>2];q[nr>>2]=vr;q[nr+4>>2]=ur;Ip=a+rr|0;q[Ip>>2]=vr;q[Ip+4>>2]=q[nr+4>>2];q[Ip+8>>2]=q[sr>>2];mr=mr+1|0;if(mr>>>0>>0){continue}break}}q[q[or+4>>2]+80>>2]=q[nr+36>>2]-q[nr+32>>2]>>2;Ip=1}mr=Ip;a=q[nr+16>>2];if(a){q[nr+20>>2]=a;An(a)}a=q[nr+32>>2];if(!a){break b}q[nr+36>>2]=a;An(a)}T=nr+48|0;return mr}function yi(a,Ip){var Cr=0,Dr=0,Er=0,Fr=0,Gr=0,Hr=0;a:{Fr=q[a>>2];Gr=q[a+4>>2]-Fr|0;Cr=(Gr|0)/12|0;Dr=Cr+1|0;if(Dr>>>0<357913942){Hr=w(Cr,12);Er=(q[a+8>>2]-Fr|0)/12|0;Cr=Er<<1;Er=Er>>>0<178956970?Cr>>>0>>0?Dr:Cr:357913941;Cr=0;b:{if(!Er){break b}if(Er>>>0>=357913942){break a}Cr=Mm(w(Er,12))}Dr=Hr+Cr|0;Hr=q[Ip+4>>2];q[Dr>>2]=q[Ip>>2];q[Dr+4>>2]=Hr;q[Dr+8>>2]=q[Ip+8>>2];Ip=Dr+w((Gr|0)/-12|0,12)|0;Cr=Cr+w(Er,12)|0;Dr=Dr+12|0;if((Gr|0)>=1){Cn(Ip,Fr,Gr)}q[a>>2]=Ip;q[a+8>>2]=Cr;q[a+4>>2]=Dr;if(Fr){An(Fr)}return}bn();F()}ab(12024);F()}function zi(a,Ip){var Ir=0,Jr=0,Kr=0,Lr=0,Mr=0,Nr=0;a:{Kr=q[a>>2];Mr=q[a+4>>2]-Kr|0;Ir=Mr>>2;Jr=Ir+1|0;if(Jr>>>0<1073741824){Nr=Ir<<2;Ir=q[a+8>>2]-Kr|0;Lr=Ir>>1;Jr=Ir>>2>>>0<536870911?Lr>>>0>>0?Jr:Lr:1073741823;Ir=0;b:{if(!Jr){break b}if(Jr>>>0>=1073741824){break a}Ir=Mm(Jr<<2)}Lr=Nr+Ir|0;q[Lr>>2]=q[Ip>>2];Ip=Ir+(Jr<<2)|0;Jr=Lr+4|0;if((Mr|0)>=1){Cn(Ir,Kr,Mr)}q[a>>2]=Ir;q[a+8>>2]=Ip;q[a+4>>2]=Jr;if(Kr){An(Kr)}return}bn();F()}ab(12024);F()}function Ai(a){var Ip=0,Or=0,Pr=0,Qr=0;Or=1;Pr=q[a+140>>2];a:{if((Pr|0)<1){break a}Ip=Pr<<4;Or=Mm((Pr|0)!=(Pr&268435455)?-1:Ip|4);q[Or>>2]=Pr;Or=Or+4|0;Pr=Or+Ip|0;Ip=Or;while(1){Ip=ah(Ip)+16|0;if((Pr|0)!=(Ip|0)){continue}break}Qr=q[a+136>>2];q[a+136>>2]=Or;if(Qr){Pr=Qr+ -4|0;Or=q[Pr>>2];if(Or){Ip=Qr+(Or<<4)|0;while(1){Ip=Ip+ -16|0;if((Qr|0)!=(Ip|0)){continue}break}}An(Pr)}Or=1;if(q[a+140>>2]<1){break a}Or=0;Ip=0;while(1){if(!bh(q[a+136>>2]+(Ip<<4)|0,a)){break a}Ip=Ip+1|0;if((Ip|0)>2]){continue}break}Or=1}return Or}function Bi(a,Rr,Sr,Tr){var Ur=0,Vr=0,Wr=0,Xr=0,Yr=0,Zr=x(0),_r=0,$r=x(0),as=0;Ur=q[Sr>>2];as=a;a:{b:{Vr=q[Rr+4>>2];if(!Vr){break b}_r=q[Rr>>2];Xr=co(Vr);Sr=Vr+ -1&Ur;c:{if(Xr>>>0<=1){break c}Sr=Ur;if(Ur>>>0>>0){break c}Sr=(Ur>>>0)%(Vr>>>0)|0}Wr=Sr;Sr=q[(Sr<<2)+_r>>2];if(!Sr){break b}_r=Vr+ -1|0;Xr=Xr>>>0>1;while(1){Sr=q[Sr>>2];if(!Sr){break b}Yr=q[Sr+4>>2];if((Yr|0)!=(Ur|0)){d:{if(!Xr){Yr=Yr&_r;break d}if(Yr>>>0>>0){break d}Yr=(Yr>>>0)%(Vr>>>0)|0}if((Wr|0)!=(Yr|0)){break b}}if(q[Sr+8>>2]!=(Ur|0)){continue}break}Rr=0;break a}Sr=Mm(16);Tr=q[q[Tr>>2]>>2];q[Sr+12>>2]=0;q[Sr+8>>2]=Tr;q[Sr+4>>2]=Ur;q[Sr>>2]=0;$r=u[Rr+16>>2];Zr=x(q[Rr+12>>2]+1>>>0);e:{if(!(!Vr|!!(x($r*x(Vr>>>0))>>0<3|Vr<<1;Tr=Rr;Zr=x(D(x(Zr/$r)));f:{if(Zr=x(0)){Xr=~~Zr>>>0;break f}Xr=0}xj(Tr,Wr>>>0>>0?Xr:Wr);Vr=q[Rr+4>>2];if(!(Vr&Vr+ -1)){Ur=Vr+ -1&Ur;break e}if(Ur>>>0>>0){break e}Ur=(Ur>>>0)%(Vr>>>0)|0}Tr=q[Rr>>2]+(Ur<<2)|0;Ur=q[Tr>>2];g:{h:{if(!Ur){Wr=Rr+8|0;q[Sr>>2]=q[Wr>>2];q[Wr>>2]=Sr;q[Tr>>2]=Wr;Tr=q[Sr>>2];if(!Tr){break g}Ur=q[Tr+4>>2];Tr=Vr+ -1|0;i:{if(!(Tr&Vr)){Ur=Tr&Ur;break i}if(Ur>>>0>>0){break i}Ur=(Ur>>>0)%(Vr>>>0)|0}Ur=q[Rr>>2]+(Ur<<2)|0;break h}q[Sr>>2]=q[Ur>>2]}q[Ur>>2]=Sr}Rr=Rr+12|0;q[Rr>>2]=q[Rr>>2]+1;Rr=1}o[as+4|0]=Rr;q[a>>2]=Sr}function Ci(a,Rr,Sr){var Tr=0,bs=0,cs=0,ds=0,es=0;a:{b:{ds=q[a+8>>2];bs=a+4|0;Tr=q[bs>>2];c:{if((ds-Tr|0)/12>>>0>=Rr>>>0){while(1){a=q[Sr+4>>2];q[Tr>>2]=q[Sr>>2];q[Tr+4>>2]=a;q[Tr+8>>2]=q[Sr+8>>2];Tr=q[bs>>2]+12|0;q[bs>>2]=Tr;Rr=Rr+ -1|0;if(Rr){continue}break c}}cs=q[a>>2];es=(Tr-cs|0)/12|0;bs=es+Rr|0;if(bs>>>0>=357913942){break b}ds=(ds-cs|0)/12|0;cs=ds<<1;bs=ds>>>0<178956970?cs>>>0>>0?bs:cs:357913941;Tr=0;d:{if(!bs){break d}if(bs>>>0>=357913942){break a}Tr=Mm(w(bs,12))}ds=Tr+w(bs,12)|0;bs=Tr+w(es,12)|0;Tr=bs;while(1){cs=q[Sr+4>>2];q[Tr>>2]=q[Sr>>2];q[Tr+4>>2]=cs;q[Tr+8>>2]=q[Sr+8>>2];Tr=Tr+12|0;Rr=Rr+ -1|0;if(Rr){continue}break}cs=a+4|0;Rr=q[a>>2];Sr=q[cs>>2]-Rr|0;bs=bs+w((Sr|0)/-12|0,12)|0;if((Sr|0)>=1){Cn(bs,Rr,Sr)}q[a>>2]=bs;q[a+8>>2]=ds;q[cs>>2]=Tr;if(!Rr){break c}An(Rr)}return}bn();F()}ab(12024);F()}function Di(a){a=a|0;return q[a+8>>2]}function Ei(a){q[a>>2]=11324;Dn(a+4|0,0,80);q[a+96>>2]=0;q[a+100>>2]=0;q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+104>>2]=0;q[a+108>>2]=0;q[a+112>>2]=0;q[a+116>>2]=0;q[a+120>>2]=0;q[a+124>>2]=0;q[a+128>>2]=0;q[a+132>>2]=0;q[a+136>>2]=0;q[a+140>>2]=0;q[a+144>>2]=0;q[a+148>>2]=0;q[a+156>>2]=0;q[a+160>>2]=0;q[a+152>>2]=1065353216;q[a+164>>2]=0;q[a+168>>2]=0;q[a+172>>2]=0;q[a+176>>2]=0;q[a+180>>2]=0;q[a+184>>2]=0;q[a+188>>2]=0;q[a+192>>2]=0;q[a+196>>2]=0;q[a+200>>2]=0;q[a+204>>2]=0;q[a+208>>2]=0;q[a+212>>2]=-1;q[a+216>>2]=0;q[a+220>>2]=0;q[a+224>>2]=0;ci(a+232|0);q[a+396>>2]=0;q[a+388>>2]=0;q[a+392>>2]=0;q[a+380>>2]=0;q[a+384>>2]=0;ah(a+400|0);q[a+416>>2]=-1;q[a+420>>2]=-1}function Fi(a){a=a|0;var Rr=0,Sr=0,fs=0,gs=0,hs=0,is=0,js=0,ks=0,ls=0,ms=0,ns=0,os=0,ps=0,qs=0,rs=0,ss=0,ts=0;ks=T+ -64|0;T=ks;q[a+132>>2]=0;if(q[a+148>>2]){fs=a+144|0;Sr=q[fs>>2];if(Sr){while(1){Rr=q[Sr>>2];An(Sr);Sr=Rr;if(Rr){continue}break}}q[fs>>2]=0;Rr=q[a+140>>2];if(Rr){fs=a+136|0;Sr=0;while(1){q[q[fs>>2]+(Sr<<2)>>2]=0;Sr=Sr+1|0;if((Rr|0)!=(Sr|0)){continue}break}}q[a+148>>2]=0}a:{b:{c:{d:{e:{f:{Sr=q[a+4>>2];fs=r[Sr+36|0];Rr=fs<<8|r[Sr+37|0];g:{if(Rr>>>0>513){break g}is=q[Sr+32>>2];if(Rr>>>0<=511){gs=q[is+12>>2];Rr=q[is+20>>2];js=q[is+16>>2];hs=js+4|0;if(hs>>>0<4){Rr=Rr+1|0}ls=hs;hs=Rr;if((gs|0)<(Rr|0)?1:(gs|0)<=(Rr|0)?t[is+8>>2]>=ls>>>0?0:1:0){break f}Rr=js+q[is>>2]|0;Rr=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks>>2]=Rr;q[is+16>>2]=ls;q[is+20>>2]=hs;q[a+132>>2]=Rr;break g}if(!oi(1,ks,is)){break f}Sr=q[a+4>>2];fs=r[Sr+36|0];q[a+132>>2]=q[ks>>2]}Sr=q[Sr+32>>2];h:{i:{j:{if((fs&255)>>>0<=1){fs=0;is=q[Sr+12>>2];Rr=q[Sr+20>>2];gs=q[Sr+16>>2];hs=gs+4|0;if(hs>>>0<4){Rr=Rr+1|0}js=hs;hs=Rr;if((is|0)<(Rr|0)?1:(is|0)<=(Rr|0)?t[Sr+8>>2]>=js>>>0?0:1:0){break a}Rr=gs+q[Sr>>2]|0;Rr=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks+60>>2]=Rr;q[Sr+16>>2]=js;q[Sr+20>>2]=hs;q[a+156>>2]=Rr;ns=a+156|0;break j}fs=0;if(!oi(1,ks+60|0,Sr)){break a}Rr=q[a+4>>2];Sr=q[Rr+32>>2];Rr=r[Rr+36|0];q[a+156>>2]=q[ks+60>>2];ns=a+156|0;if(Rr>>>0>1){break i}}is=q[Sr+12>>2];Rr=q[Sr+20>>2];gs=q[Sr+16>>2];hs=gs+4|0;if(hs>>>0<4){Rr=Rr+1|0}ls=hs;hs=Rr;if((is|0)<(Rr|0)?1:(is|0)<=(Rr|0)?t[Sr+8>>2]>=ls>>>0?0:1:0){break a}Rr=gs+q[Sr>>2]|0;js=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks+56>>2]=js;q[Sr+16>>2]=ls;q[Sr+20>>2]=hs;break h}if(!oi(1,ks+56|0,Sr)){break a}js=q[ks+56>>2]}if(js>>>0>1431655765|t[ns>>2]>w(js,3)>>>0){break a}os=q[a+4>>2];hs=q[os+32>>2];ps=q[hs+8>>2];ms=q[hs+16>>2];is=q[hs+12>>2];Rr=is;Sr=q[hs+20>>2];if((Rr|0)<(Sr|0)?1:(Rr|0)<=(Sr|0)?ps>>>0>ms>>>0?0:1:0){break a}rs=q[hs>>2];ls=r[rs+ms|0];Rr=Sr;qs=ms+1|0;if(qs>>>0<1){Rr=Rr+1|0}q[hs+16>>2]=qs;q[hs+20>>2]=Rr;k:{if(r[os+36|0]<=1){Rr=Sr;Sr=ms+5|0;if(Sr>>>0<5){Rr=Rr+1|0}gs=Sr;Sr=Rr;if((is|0)<(Rr|0)?1:(is|0)<=(Rr|0)?ps>>>0>=gs>>>0?0:1:0){break a}Rr=qs+rs|0;is=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks+52>>2]=is;q[hs+16>>2]=gs;q[hs+20>>2]=Sr;break k}if(!oi(1,ks+52|0,hs)){break a}is=q[ks+52>>2]}if(js>>>0>>0|js>>>0>((is>>>0)/3|0)+is>>>0){break a}Rr=q[a+4>>2];hs=q[Rr+32>>2];l:{if(r[Rr+36|0]<=1){gs=q[hs+12>>2];Rr=q[hs+20>>2];ms=q[hs+16>>2];Sr=ms+4|0;if(Sr>>>0<4){Rr=Rr+1|0}os=Sr;Sr=Rr;if((gs|0)<(Rr|0)?1:(gs|0)<=(Rr|0)?t[hs+8>>2]>=os>>>0?0:1:0){break a}Rr=ms+q[hs>>2]|0;ms=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks+48>>2]=ms;q[hs+16>>2]=os;q[hs+20>>2]=Sr;break l}if(!oi(1,ks+48|0,hs)){break a}ms=q[ks+48>>2]}if(ms>>>0>is>>>0){break a}q[a+28>>2]=q[a+24>>2];Sr=Mm(88);jk(Sr);Rr=q[a+8>>2];q[a+8>>2]=Sr;hs=a+8|0;if(Rr){wa(hs,Rr);if(!q[hs>>2]){break a}}Rr=q[a+160>>2];q[a+164>>2]=Rr;m:{if(q[a+168>>2]-Rr>>2>>>0>=js>>>0){break m}if(js>>>0>=1073741824){break e}fs=js<<2;Sr=Mm(fs);q[a+164>>2]=Sr;q[a+160>>2]=Sr;q[a+168>>2]=Sr+fs;if(!Rr){break m}An(Rr)}Rr=q[a+172>>2];q[a+176>>2]=Rr;n:{if(q[a+180>>2]-Rr>>2>>>0>=js>>>0){break n}if(js>>>0>=1073741824){break d}fs=js<<2;Sr=Mm(fs);q[a+176>>2]=Sr;q[a+172>>2]=Sr;q[a+180>>2]=Sr+fs;if(!Rr){break n}An(Rr)}q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+40>>2]=q[a+36>>2];q[a- -64>>2]=0;q[a+52>>2]=q[a+48>>2];q[a+76>>2]=q[a+72>>2];os=a+216|0;Sr=q[a+220>>2];fs=q[a+216>>2];if((Sr|0)==(fs|0)){break c}while(1){Rr=q[Sr+ -12>>2];if(Rr){q[Sr+ -8>>2]=Rr;An(Rr)}Rr=q[Sr+ -28>>2];if(Rr){q[Sr+ -24>>2]=Rr;An(Rr)}Rr=Sr+ -144|0;gs=q[Sr+ -40>>2];if(gs){q[Sr+ -36>>2]=gs;An(gs)}pi(Sr+ -140|0);Sr=Rr;if((fs|0)!=(Rr|0)){continue}break}Rr=q[os>>2];break b}fs=0;break a}ab(12024);F()}ab(12024);F()}Rr=fs}q[a+220>>2]=fs;Sr=(fs-Rr|0)/144|0;o:{if(Sr>>>0>>0){qi(os,ls-Sr|0);break o}if(Sr>>>0<=ls>>>0){break o}Sr=Rr+w(ls,144)|0;if((Sr|0)!=(fs|0)){while(1){Rr=q[fs+ -12>>2];if(Rr){q[fs+ -8>>2]=Rr;An(Rr)}Rr=q[fs+ -28>>2];if(Rr){q[fs+ -24>>2]=Rr;An(Rr)}Rr=fs+ -144|0;gs=q[fs+ -40>>2];if(gs){q[fs+ -36>>2]=gs;An(gs)}pi(fs+ -140|0);fs=Rr;if((Rr|0)!=(Sr|0)){continue}break}}q[a+220>>2]=Sr}fs=0;if(!tk(q[hs>>2],js,q[ns>>2]+ms|0)){break a}Rr=q[a+156>>2];o[ks|0]=1;bb(a+120|0,Rr+ms|0,ks);Sr=q[a+4>>2];Rr=s[Sr+36>>1];Rr=(Rr<<24|Rr<<8&16711680)>>>16;p:{if(Rr>>>0<=513){gs=q[Sr+32>>2];q:{if(Rr>>>0<=511){js=q[gs+12>>2];Rr=q[gs+20>>2];ns=q[gs+16>>2];Sr=ns+4|0;if(Sr>>>0<4){Rr=Rr+1|0}ps=Sr;Sr=Rr;if((js|0)<(Rr|0)?1:(js|0)<=(Rr|0)?t[gs+8>>2]>=ps>>>0?0:1:0){break a}Rr=ns+q[gs>>2]|0;js=r[Rr|0]|r[Rr+1|0]<<8|(r[Rr+2|0]<<16|r[Rr+3|0]<<24);q[ks+44>>2]=js;q[gs+16>>2]=ps;q[gs+20>>2]=Sr;break q}if(!oi(1,ks+44|0,gs)){break a}js=q[ks+44>>2]}if(!js){break a}Rr=q[q[a+4>>2]+32>>2];Sr=q[Rr+8>>2];gs=q[Rr+16>>2];Rr=q[Rr+12>>2]-(q[Rr+20>>2]+(Sr>>>0>>0)|0)|0;if((Rr|0)<0?1:(Rr|0)<=0?Sr-gs>>>0>=js>>>0?0:1:0){break a}gs=Yj(ks);Sr=q[q[a+4>>2]+32>>2];Rr=q[Sr+16>>2];ns=q[Sr+8>>2];Zj(gs,(Rr+q[Sr>>2]|0)+js|0,(ns-Rr|0)-js|0,s[Sr+38>>1]);Sr=ri(a,gs);if((Sr|0)==-1){break a}Rr=Sr;gs=Rr>>31;break p}Rr=-1;gs=-1;if((ri(a,q[Sr+32>>2])|0)==-1){break a}}q[a+376>>2]=a;ns=a+232|0;Sr=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];ps=q[Sr>>2]+q[Sr+16>>2]|0;js=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];Sr=q[js+8>>2];fs=q[js+16>>2];Zj(ns,ps,Sr-fs|0,s[q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);ss=a,ts=n[q[q[a>>2]+36>>2]](a)|0,q[ss+380>>2]=ts;q[a+372>>2]=ls;q[a+384>>2]=q[a+156>>2]+ms;fs=0;Sr=Yj(ks);r:{if(!Gi(ns,Sr)){break r}js=Hi(a,is);if((js|0)==-1){break r}is=q[q[a+4>>2]+32>>2];fs=q[Sr+16>>2];ls=fs+q[Sr>>2]|0;Sr=q[Sr+8>>2];Zj(is,ls,Sr-fs|0,s[is+38>>1]);Sr=q[a+4>>2];fs=s[Sr+36>>1];is=(fs<<24|fs<<8&16711680)>>>16;if(is>>>0<=513){fs=q[Sr+32>>2];ls=fs;ps=fs;Sr=gs+q[fs+20>>2]|0;fs=Rr+q[fs+16>>2]|0;if(fs>>>0>>0){Sr=Sr+1|0}q[ps+16>>2]=fs;q[ls+20>>2]=Sr}s:{if(q[a+220>>2]==q[a+216>>2]){break s}Sr=q[hs>>2];Rr=q[Sr+4>>2];Sr=q[Sr>>2];t:{if(is>>>0>=513){if((Rr|0)==(Sr|0)){break s}Sr=0;break t}if((Rr|0)==(Sr|0)){break s}Sr=0;while(1){if(ui(a,Sr)){Sr=Sr+3|0;Rr=q[hs>>2];if(Sr>>>0>2]-q[Rr>>2]>>2>>>0){continue}break s}break}fs=0;break r}while(1){if(vi(a,Sr)){Sr=Sr+3|0;Rr=q[hs>>2];if(Sr>>>0>2]-q[Rr>>2]>>2>>>0){continue}break s}break}fs=0;break r}if(r[a+308|0]){ak(a+272|0)}if(s[a+270>>1]<=513){ak(a+328|0)}Sr=q[a+216>>2];gs=a+220|0;if((Sr|0)!=q[gs>>2]){is=0;while(1){Rr=w(is,144);Ek((Rr+Sr|0)+4|0,q[hs>>2]);fs=q[os>>2];ls=Rr+fs|0;Sr=q[ls+132>>2];ls=q[ls+136>>2];if((Sr|0)!=(ls|0)){while(1){Gk((Rr+fs|0)+4|0,q[Sr>>2]);fs=q[os>>2];Sr=Sr+4|0;if((ls|0)!=(Sr|0)){continue}break}}Fk((Rr+fs|0)+4|0);is=is+1|0;Sr=q[a+216>>2];if(is>>>0<(q[gs>>2]-Sr|0)/144>>>0){continue}break}}Rr=q[a+8>>2];wi(a+184|0,q[Rr+28>>2]-q[Rr+24>>2]>>2);fs=q[a+216>>2];if((fs|0)!=q[gs>>2]){Sr=0;is=a+220|0;while(1){Rr=w(Sr,144)+fs|0;fs=q[Rr+60>>2]-q[Rr+56>>2]>>2;ls=Rr+104|0;Rr=q[hs>>2];Rr=q[Rr+28>>2]-q[Rr+24>>2]>>2;wi(ls,(fs|0)<(Rr|0)?Rr:fs);Sr=Sr+1|0;fs=q[a+216>>2];if(Sr>>>0<(q[is>>2]-fs|0)/144>>>0){continue}break}}fs=xi(a,js)}}T=ks- -64|0;return fs|0}function Gi(a,us){var vs=0,ws=0,xs=0,ys=0,zs=0,As=0,Bs=0;ys=T-16|0;T=ys;a:{if(!si(a,us)){break a}zs=q[us+12>>2];vs=q[us+20>>2];As=q[us+16>>2];xs=As+4|0;if(xs>>>0<4){vs=vs+1|0}ws=xs;xs=vs;if((zs|0)<(vs|0)?1:(zs|0)<=(vs|0)?t[us+8>>2]>=ws>>>0?0:1:0){break a}vs=As+q[us>>2]|0;vs=r[vs|0]|r[vs+1|0]<<8|(r[vs+2|0]<<16|r[vs+3|0]<<24);q[us+16>>2]=ws;q[us+20>>2]=xs;if((vs|0)<0){break a}ws=q[a+152>>2];if((vs|0)>=(ws|0)){break a}q[ys+12>>2]=0;xs=q[a+156>>2];vs=q[a+160>>2]-xs>>2;b:{if(ws>>>0>vs>>>0){Ad(a+156|0,ws-vs|0,ys+12|0);break b}if(ws>>>0>=vs>>>0){break b}q[a+160>>2]=xs+(ws<<2)}Bs=bh(a+168|0,us)}T=ys+16|0;return Bs}function Hi(a,us){var Cs=0,Ds=0,Es=0,Fs=0,Gs=0,Hs=0,Is=0,Js=0,Ks=0,Ls=0,Ms=0,Ns=0,Os=0,Ps=0,Qs=0,Rs=0,Ss=0,Ts=0,Us=0,Vs=0,Ws=0,Xs=0,Ys=0,Zs=0,_s=0,$s=0,at=0;Gs=T-96|0;T=Gs;q[Gs+72>>2]=0;q[Gs+64>>2]=0;q[Gs+68>>2]=0;q[Gs+48>>2]=0;q[Gs+52>>2]=0;q[Gs+40>>2]=0;q[Gs+44>>2]=0;q[Gs+56>>2]=1065353216;q[Gs+32>>2]=0;q[Gs+24>>2]=0;q[Gs+28>>2]=0;Ss=q[a+124>>2];a:{b:{c:{if((us|0)>=1){Ts=a+400|0;Us=a+232|0;Zs=a+296|0;Vs=a+8|0;_s=a+388|0;Ys=q[a+216>>2]!=q[a+220>>2];Ws=a+40|0;while(1){d:{e:{f:{g:{h:{if(q[a+420>>2]!=-1){if(dh(Ts)){break h}}Cs=a;Js=Cs;if(r[Cs+308|0]){Ks=q[Zs>>2];Is=q[a+304>>2];Ds=Ks+(Is>>>3)|0;Hs=q[a+300>>2];if(Ds>>>0>=Hs>>>0){break g}Es=r[Ds|0];Ds=Is+1|0;q[a+304>>2]=Ds;if(!(Es>>>(Is&7)&1)){break g}Ms=Ds>>>3;Es=Ks+Ms|0;i:{if(Es>>>0>=Hs>>>0){Es=Ds;Cs=0;break i}Fs=r[Es|0];Es=Is+2|0;q[a+304>>2]=Es;Ms=Es>>>3;Cs=Fs>>>(Ds&7)&1}Fs=Ks+Ms|0;if(Fs>>>0>>0){Fs=r[Fs|0];q[a+304>>2]=Es+1;Ds=Fs>>>(Es&7)<<1&2}else{Ds=0}Ds=(Cs|Ds)<<1|1}else{Ds=1}q[Js+416>>2]=Ds;break e}Ds=q[a+420>>2];q[a+416>>2]=Ds;if(Ds){break e}break f}q[a+416>>2]=0}Ds=q[Gs+68>>2];if((Ds|0)==q[Gs+64>>2]){Es=-1;break c}Ns=-1;Os=q[Vs>>2];Ks=q[Os+24>>2];Fs=Ks;Hs=Ds+ -4|0;Rs=q[Hs>>2];Cs=-1;j:{if((Rs|0)==-1){break j}Es=Rs+1|0;Es=(Es>>>0)%3|0?Es:Rs+ -2|0;Cs=-1;if((Es|0)==-1){break j}Cs=q[q[Os>>2]+(Es<<2)>>2]}Fs=q[Fs+(Cs<<2)>>2];if((Fs|0)!=-1){Es=Fs+1|0;Ns=(Es>>>0)%3|0?Es:Fs+ -2|0}Fs=q[Os+12>>2];Ps=w(Ls,3);Es=Ps+1|0;q[Fs+(Rs<<2)>>2]=Es;Es=Es<<2;q[Es+Fs>>2]=Rs;Qs=Ps+2|0;q[Fs+(Ns<<2)>>2]=Qs;Is=Qs<<2;q[Is+Fs>>2]=Ns;Ms=q[Os>>2];q[Ms+(Ps<<2)>>2]=Cs;Js=Es+Ms|0;Fs=-1;k:{if((Ns|0)==-1){break k}Es=Ns+1|0;Es=(Es>>>0)%3|0?Es:Ns+ -2|0;Fs=-1;if((Es|0)==-1){break k}Fs=q[Ms+(Es<<2)>>2]}q[Js>>2]=Fs;l:{m:{if((Rs|0)!=-1){Es=Rs+((Rs>>>0)%3|0?-1:2)|0;if((Es|0)!=-1){break m}}q[Is+Ms>>2]=-1;break l}Es=q[Ms+(Es<<2)>>2];q[Is+Ms>>2]=Es;if((Es|0)==-1){break l}q[Ks+(Es<<2)>>2]=Qs}Fs=q[a+120>>2]+(Cs>>>3&536870908)|0;Es=q[Fs>>2];$s=Fs,at=eo(Cs)&Es,q[$s>>2]=at;q[Hs>>2]=Ps;Cs=0;break d}Es=-1;Cs=Ds+ -1|0;if(Cs>>>0>6){break c}n:{o:{p:{q:{switch(Cs-1|0){case 1:case 3:Fs=q[Gs+68>>2];if((Fs|0)==q[Gs+64>>2]){break c}Es=q[Vs>>2];Cs=q[Es+12>>2];Qs=w(Ls,3);Ks=(Ds|0)==5;Hs=Qs+(Ks?2:1)|0;Ds=Hs<<2;Ms=q[Fs+ -4>>2];q[Cs+Ds>>2]=Ms;q[Cs+(Ms<<2)>>2]=Hs;Fs=Es+24|0;Js=q[Es+32>>2];Es=Es+28|0;Cs=q[Es>>2];r:{if((Js|0)!=(Cs|0)){q[Cs>>2]=-1;Os=Cs+4|0;q[Es>>2]=Os;break r}zi(Fs,11312);Os=q[Es>>2]}Es=-1;Cs=q[Vs>>2];Is=q[Cs+24>>2];if(q[Cs+28>>2]-Is>>2>(Ss|0)){break c}Es=Qs+2|0;Ps=q[Cs>>2];Js=Ps+Ds|0;Cs=Os-q[Fs>>2]|0;Ds=(Cs>>2)+ -1|0;q[Js>>2]=Ds;if(Cs){q[Is+(Ds<<2)>>2]=Hs}Es=Ks?Qs:Es;Fs=Ps+(Ks+Qs<<2)|0;s:{t:{u:{if((Ms|0)!=-1){Ds=Ms+((Ms>>>0)%3|0?-1:2)|0;if((Ds|0)==-1){break u}Ds=q[Ps+(Ds<<2)>>2];q[Ps+(Es<<2)>>2]=Ds;if((Ds|0)==-1){break t}q[Is+(Ds<<2)>>2]=Es;break t}q[Ps+(Es<<2)>>2]=-1;Cs=-1;break s}q[Ps+(Es<<2)>>2]=-1}Ds=Ms+1|0;Ds=(Ds>>>0)%3|0?Ds:Ms+ -2|0;Cs=-1;if((Ds|0)==-1){break s}Cs=q[Ps+(Ds<<2)>>2]}q[Fs>>2]=Cs;Ds=q[Gs+68>>2];q[Ds+ -4>>2]=Qs;break p;default:Ds=q[Gs+68>>2];Os=q[Gs+64>>2];if((Ds|0)==(Os|0)){break c}Cs=Ds+ -4|0;Xs=q[Cs>>2];q[Gs+68>>2]=Cs;Is=q[Gs+44>>2];v:{if(!Is){Ds=Cs;break v}Js=q[Gs+40>>2];Ks=co(Is)>>>0>1;Hs=Is+2147483647&Ls;w:{if(!Ks){break w}Fs=Ls;Hs=Fs;if(Fs>>>0>>0){break w}Hs=(Ls>>>0)%(Is>>>0)|0}Fs=Hs;Hs=q[Js+(Fs<<2)>>2];if(!Hs){Ds=Cs;break v}Js=q[Hs>>2];if(!Js){Ds=Cs;break v}Hs=Is+ -1|0;x:{while(1){Ns=q[Js+4>>2];y:{if((Ls|0)!=(Ns|0)){z:{if(!Ks){Ns=Hs&Ns;break z}if(Ns>>>0>>0){break z}Ns=(Ns>>>0)%(Is>>>0)|0}if((Fs|0)==(Ns|0)){break y}Ds=Cs;break v}if(q[Js+8>>2]==(Ls|0)){break x}}Js=q[Js>>2];if(Js){continue}break}Ds=Cs;break v}Fs=Js+12|0;if((Cs|0)!=q[Gs+72>>2]){q[Cs>>2]=q[Fs>>2];q[Gs+68>>2]=Ds;break v}zi(Gs- -64|0,Fs);Ds=q[Gs+68>>2];Os=q[Gs+64>>2]}if((Ds|0)==(Os|0)){break c}Ms=q[Ds+ -4>>2];Fs=(Ms|0)==-1;Rs=q[Vs>>2];if(q[q[Rs+12>>2]+(Ms<<2)>>2]!=-1?!Fs:0){break c}Ks=(Xs|0)==-1;Is=Rs+12|0;Hs=q[Is>>2];if(q[Hs+(Xs<<2)>>2]!=-1?!Ks:0){break c}Ps=w(Ls,3);Qs=Ps+2|0;q[Hs+(Ms<<2)>>2]=Qs;Os=Qs<<2;q[Os+Hs>>2]=Ms;Cs=Ps+1|0;q[Hs+(Xs<<2)>>2]=Cs;Js=Hs;Hs=Cs<<2;q[Js+Hs>>2]=Xs;if(Fs){break o}Ns=-1;Fs=q[Rs>>2];Js=Fs+(Ps<<2)|0;Cs=Ms+((Ms>>>0)%3|0?-1:2)|0;if((Cs|0)!=-1){Ns=q[(Cs<<2)+Fs>>2]}q[Js>>2]=Ns;Cs=Ms+1|0;Cs=(Cs>>>0)%3|0?Cs:Ms+ -2|0;if((Cs|0)==-1){break n}Es=q[(Cs<<2)+Fs>>2];break n;case 5:break q;case 0:case 2:case 4:break c}}q[Gs>>2]=w(Ls,3);Ds=q[Vs>>2];Fs=Ds+24|0;Hs=q[Ds+32>>2];Cs=Ds+28|0;Ds=q[Cs>>2];A:{if((Hs|0)!=(Ds|0)){q[Ds>>2]=-1;Ms=Ds+4|0;q[Cs>>2]=Ms;break A}zi(Fs,11312);Ms=q[Cs>>2]}Os=q[Vs>>2];Ns=q[Os>>2];Ds=q[Gs>>2];Is=Ms-q[Fs>>2]|0;Qs=Is>>2;Cs=Qs+ -1|0;q[Ns+(Ds<<2)>>2]=Cs;Ds=Ds+1|0;Ks=Os+24|0;Hs=Os+28|0;Fs=q[Hs>>2];B:{if((Fs|0)!=q[Os+32>>2]){q[Fs>>2]=-1;Ms=Fs+4|0;q[Hs>>2]=Ms;break B}zi(Ks,11312);Ms=q[Hs>>2];Ns=q[Os>>2]}q[(Ds<<2)+Ns>>2]=(Ms-q[Ks>>2]>>2)+ -1;Ds=q[Gs>>2]+2|0;Ks=q[Vs>>2];Fs=Ks+28|0;Hs=q[Fs>>2];C:{if((Hs|0)!=q[Ks+32>>2]){q[Hs>>2]=-1;Ns=Hs+4|0;q[Fs>>2]=Ns;break C}zi(Ks+24|0,11312);Ns=q[Fs>>2]}q[q[Ks>>2]+(Ds<<2)>>2]=(Ns-q[Ks+24>>2]>>2)+ -1;Ds=q[Vs>>2];Fs=q[Ds+24>>2];if(q[Ds+28>>2]-Fs>>2>(Ss|0)){break c}Ds=q[Gs>>2];D:{E:{if(!Is){Es=1;q[Fs+(Qs<<2)>>2]=Ds+1;break E}q[Fs+(Cs<<2)>>2]=Ds;Es=0;if((Is|0)==-4){break E}q[Fs+(Qs<<2)>>2]=q[Gs>>2]+1;Es=Qs+1|0;if((Es|0)==-1){break D}}q[Fs+(Es<<2)>>2]=q[Gs>>2]+2}Ds=q[Gs+68>>2];if((Ds|0)!=q[Gs+72>>2]){q[Ds>>2]=q[Gs>>2];Ds=Ds+4|0;q[Gs+68>>2]=Ds;break p}zi(Gs- -64|0,Gs);Ds=q[Gs+68>>2]}Cs=1;break d}Ns=-1;Fs=q[Rs>>2];q[Fs+(Ps<<2)>>2]=-1}q[Fs+Hs>>2]=Es;F:{G:{H:{if(!Ks){Cs=Xs+((Xs>>>0)%3|0?-1:2)|0;if((Cs|0)==-1){break H}Cs=q[(Cs<<2)+Fs>>2];q[Fs+Os>>2]=Cs;if((Cs|0)==-1){break G}q[q[Rs+24>>2]+(Cs<<2)>>2]=Qs;break G}q[Fs+Os>>2]=-1;Js=-1;Es=-1;break F}q[Fs+Os>>2]=-1}Js=-1;Cs=Xs+1|0;Cs=(Cs>>>0)%3|0?Cs:Xs+ -2|0;Es=-1;if((Cs|0)==-1){break F}Js=q[(Cs<<2)+Fs>>2];Es=Cs}q[Gs>>2]=Js;Hs=q[_s>>2];Fs=Ns<<2;Cs=Hs+Fs|0;q[Cs>>2]=q[Cs>>2]+q[Hs+(Js<<2)>>2];Hs=q[Rs+24>>2];if((Ns|0)!=-1){q[Fs+Hs>>2]=q[Hs+(q[Gs>>2]<<2)>>2]}I:{if((Es|0)==-1){break I}Fs=q[Rs>>2];while(1){q[Fs+(Es<<2)>>2]=Ns;Cs=Es+1|0;Cs=(Cs>>>0)%3|0?Cs:Es+ -2|0;if((Cs|0)==-1){break I}Es=q[q[Is>>2]+(Cs<<2)>>2];if((Es|0)==-1){break I}Cs=Es+1|0;Es=(Cs>>>0)%3|0?Cs:Es+ -2|0;if((Es|0)!=-1){continue}break}}q[Hs+(q[Gs>>2]<<2)>>2]=-1;J:{if(Ys){break J}Cs=q[Gs+28>>2];if((Cs|0)!=q[Gs+32>>2]){q[Cs>>2]=q[Gs>>2];q[Gs+28>>2]=Cs+4;break J}zi(Gs+24|0,Gs);Ds=q[Gs+68>>2]}q[Ds+ -4>>2]=Ps;Cs=0}Ii(Us,q[Ds+ -4>>2]);K:{if(!Cs){break K}Ds=q[Ws>>2];if((Ds|0)==q[a+36>>2]){break K}Hs=(Ls^-1)+us|0;while(1){Es=-1;Cs=q[Ds+ -8>>2];if(Cs>>>0>Hs>>>0){break c}if((Cs|0)!=(Hs|0)){break K}Cs=r[Ds+ -4|0];Ds=Ds+ -12|0;Fs=q[Ds>>2];q[Ws>>2]=Ds;if((Fs|0)<0){break c}Es=q[q[Gs+68>>2]+ -4>>2];q[Gs+20>>2]=(Fs^-1)+us;q[Gs+88>>2]=Gs+20;Bi(Gs,Gs+40|0,Gs+20|0,Gs+88|0);Fs=q[Gs>>2];L:{if(Cs&1){Cs=-1;if((Es|0)==-1){break L}Ds=Es+1|0;Cs=(Ds>>>0)%3|0?Ds:Es+ -2|0;break L}Cs=-1;if((Es|0)==-1){break L}Cs=Es+ -1|0;if((Es>>>0)%3){break L}Cs=Es+2|0}q[Fs+12>>2]=Cs;Ds=q[Ws>>2];if((Ds|0)!=q[a+36>>2]){continue}break}}Ls=Ls+1|0;if((Ls|0)!=(us|0)){continue}break}Hs=us}Es=-1;Js=q[a+8>>2];if(q[Js+28>>2]-q[Js+24>>2]>>2>(Ss|0)){break c}Ds=q[Gs+68>>2];if((Ds|0)!=q[Gs+64>>2]){Ps=a+72|0;us=a+60|0;Zs=a+312|0;_s=a+352|0;Ys=a+8|0;Os=a+68|0;Qs=a+80|0;Ws=a+76|0;while(1){Cs=Ds+ -4|0;Ds=q[Cs>>2];q[Gs+68>>2]=Cs;q[Gs>>2]=Ds;M:{N:{O:{P:{if(s[a+270>>1]<=513){if(!r[a+364|0]){break O}Cs=q[a+360>>2];Ds=q[_s>>2]+(Cs>>>3)|0;if(Ds>>>0>=t[a+356>>2]){break N}Ds=r[Ds|0];q[a+360>>2]=Cs+1;Cs=Ds>>>(Cs&7)&1;break P}Cs=dh(Zs)}if(!Cs){break N}}Is=q[Ys>>2];Ss=q[Is>>2];if((Hs|0)>=((q[Is+4>>2]-Ss>>2>>>0)/3|0)){break c}Ls=-1;Js=-1;Ks=q[Is+24>>2];Fs=Ks;Ts=q[Gs>>2];Ds=-1;Q:{if((Ts|0)==-1){break Q}Cs=Ts+1|0;Cs=(Cs>>>0)%3|0?Cs:Ts+ -2|0;Ds=-1;if((Cs|0)==-1){break Q}Ds=q[Ss+(Cs<<2)>>2]}Fs=q[Fs+(Ds<<2)>>2];R:{if((Fs|0)==-1){break R}Cs=Fs+1|0;Cs=(Cs>>>0)%3|0?Cs:Fs+ -2|0;if((Cs|0)==-1){break R}Ls=Cs+1|0;Ls=(Ls>>>0)%3|0?Ls:Cs+ -2|0;if((Ls|0)!=-1){Js=q[Ss+(Ls<<2)>>2]}Ls=Cs}Ms=-1;Us=-1;Ks=q[Ks+(Js<<2)>>2];Fs=-1;S:{if((Ks|0)==-1){break S}Cs=Ks+1|0;Cs=(Cs>>>0)%3|0?Cs:Ks+ -2|0;Fs=-1;if((Cs|0)==-1){break S}Fs=Cs+1|0;Fs=(Fs>>>0)%3|0?Fs:Cs+ -2|0;if((Fs|0)!=-1){Us=q[Ss+(Fs<<2)>>2]}Fs=Cs}Cs=w(Hs,3);q[Gs+88>>2]=Cs;Ks=q[Is+12>>2];q[Ks+(Cs<<2)>>2]=Ts;q[Ks+(Ts<<2)>>2]=Cs;Cs=q[Gs+88>>2]+1|0;q[Ks+(Cs<<2)>>2]=Ls;q[Ks+(Ls<<2)>>2]=Cs;Cs=q[Gs+88>>2]+2|0;q[Ks+(Cs<<2)>>2]=Fs;q[Ks+(Fs<<2)>>2]=Cs;Cs=q[Gs+88>>2];q[Ss+(Cs<<2)>>2]=Js;Ts=Cs+1|0;Is=Ss+(Ts<<2)|0;q[Is>>2]=Us;Ks=Cs+2|0;Fs=Ss+(Ks<<2)|0;q[Fs>>2]=Ds;Us=q[a+120>>2];Ls=Ts>>>0>>0?-1:Js;Cs=Us+(Ls>>>3&536870908)|0;Ds=q[Cs>>2];$s=Cs,at=eo(Ls)&Ds,q[$s>>2]=at;Ms=(Ts|0)!=-1?q[Is>>2]:Ms;Cs=Us+(Ms>>>3&536870908)|0;Ds=q[Cs>>2];$s=Cs,at=eo(Ms)&Ds,q[$s>>2]=at;Ds=-1;Ds=(Ks|0)!=-1?q[Fs>>2]:Ds;Ls=Us+(Ds>>>3&536870908)|0;Cs=q[Ls>>2];$s=Ls,at=eo(Ds)&Cs,q[$s>>2]=at;Ds=q[a+64>>2];Fs=q[Os>>2];if((Ds|0)==Fs<<5){if((Ds+1|0)<=-1){break a}Cs=us;if(Ds>>>0<=1073741822){Ls=Ds+32&-32;Ds=Fs<<6;Ds=Ds>>>0>>0?Ls:Ds}else{Ds=2147483647}cb(Cs,Ds);Ds=q[a+64>>2]}Hs=Hs+1|0;q[a+64>>2]=Ds+1;Cs=q[a+60>>2]+(Ds>>>3&536870908)|0;q[Cs>>2]=q[Cs>>2]|1<<(Ds&31);Ds=q[Ws>>2];if((Ds|0)!=q[Qs>>2]){q[Ds>>2]=q[Gs+88>>2];q[Ws>>2]=Ds+4;break M}zi(Ps,Gs+88|0);break M}Ds=q[a+64>>2];Fs=q[Os>>2];if((Ds|0)==Fs<<5){if((Ds+1|0)<=-1){break a}Cs=us;if(Ds>>>0<=1073741822){Ls=Ds+32&-32;Ds=Fs<<6;Ds=Ds>>>0>>0?Ls:Ds}else{Ds=2147483647}cb(Cs,Ds);Ds=q[a+64>>2]}q[a+64>>2]=Ds+1;Ls=q[a+60>>2]+(Ds>>>3&536870908)|0;Cs=q[Ls>>2];$s=Ls,at=eo(Ds)&Cs,q[$s>>2]=at;Ds=q[Ws>>2];if((Ds|0)!=q[Qs>>2]){q[Ds>>2]=q[Gs>>2];q[Ws>>2]=Ds+4;break M}zi(Ps,Gs)}Ds=q[Gs+68>>2];if((Ds|0)!=q[Gs+64>>2]){continue}break}Js=q[a+8>>2]}if(((q[Js+4>>2]-q[Js>>2]>>2>>>0)/3|0)!=(Hs|0)){break c}Es=q[Js+28>>2]-q[Js+24>>2]>>2;us=q[Gs+24>>2];Ks=q[Gs+28>>2];if((us|0)==(Ks|0)){break b}Fs=a+8|0;while(1){Is=q[us>>2];Hs=q[Js+24>>2];Ds=Es+ -1|0;T:{if(q[Hs+(Ds<<2)>>2]!=-1){Ls=Es;break T}Hs=q[Js+24>>2];while(1){Ds=Es+ -2|0;Ls=Es+ -1|0;Es=Ls;if(q[(Ds<<2)+Hs>>2]==-1){continue}break}}if(!(Ds>>>0>>0)){q[Gs>>2]=Js;Cs=Ds<<2;Es=q[Cs+Hs>>2];o[Gs+12|0]=1;q[Gs+8>>2]=Es;q[Gs+4>>2]=Es;if((Es|0)!=-1){while(1){q[q[Js>>2]+(Es<<2)>>2]=Is;lg(Gs);Js=q[Fs>>2];Es=q[Gs+8>>2];if((Es|0)!=-1){continue}break}}Es=Cs;Cs=q[Js+24>>2];Es=Es+Cs|0;if((Is|0)!=-1){q[Cs+(Is<<2)>>2]=q[Es>>2]}q[Es>>2]=-1;Ys=1<<(Is&31);Es=q[a+120>>2];Is=Es+(Is>>>3&536870908)|0;Cs=Is;Hs=Es+(Ds>>>3&536870908)|0;Ds=1<<(Ds&31);Es=Ys|q[Is>>2];U:{if(q[Hs>>2]&Ds){break U}Es=q[Is>>2]&(Ys^-1)}q[Cs>>2]=Es;q[Hs>>2]=q[Hs>>2]&(Ds^-1);Ls=Ls+ -1|0}Es=Ls;us=us+4|0;if((Ks|0)!=(us|0)){continue}break}}us=q[Gs+24>>2]}if(us){q[Gs+28>>2]=us;An(us)}Ds=q[Gs+48>>2];if(Ds){while(1){a=q[Ds>>2];An(Ds);Ds=a;if(Ds){continue}break}}a=q[Gs+40>>2];q[Gs+40>>2]=0;if(a){An(a)}a=q[Gs+64>>2];if(a){q[Gs+68>>2]=a;An(a)}T=Gs+96|0;return Es}bn();F()}function Ii(a,us){var bt=0,ct=0,dt=0,et=0,ft=0;ct=-1;ft=-1;a:{if((us|0)==-1){break a}bt=us+1|0;ct=(bt>>>0)%3|0?bt:us+ -2|0;ft=us+ -1|0;if((us>>>0)%3){break a}ft=us+2|0}bt=q[a+184>>2];b:{if(bt>>>0>7){break b}c:{d:{switch(bt-2|0){default:dt=q[a+148>>2];bt=-1;bt=(ct|0)!=-1?q[q[dt>>2]+(ct<<2)>>2]:bt;ct=1;et=bt<<2;bt=q[a+156>>2];et=et+bt|0;q[et>>2]=q[et>>2]+1;bt=(((ft|0)!=-1?q[q[dt>>2]+(ft<<2)>>2]:-1)<<2)+bt|0;break c;case 3:et=q[a+148>>2];bt=q[a+156>>2];dt=bt+(((us|0)!=-1?q[q[et>>2]+(us<<2)>>2]:-1)<<2)|0;q[dt>>2]=q[dt>>2]+1;dt=(((ct|0)!=-1?q[q[et>>2]+(ct<<2)>>2]:-1)<<2)+bt|0;q[dt>>2]=q[dt>>2]+1;ct=2;bt=(((ft|0)!=-1?q[q[et>>2]+(ft<<2)>>2]:-1)<<2)+bt|0;break c;case 1:et=q[a+148>>2];bt=q[a+156>>2];dt=bt+(((us|0)!=-1?q[q[et>>2]+(us<<2)>>2]:-1)<<2)|0;q[dt>>2]=q[dt>>2]+1;dt=(((ct|0)!=-1?q[q[et>>2]+(ct<<2)>>2]:-1)<<2)+bt|0;q[dt>>2]=q[dt>>2]+2;ct=1;bt=(((ft|0)!=-1?q[q[et>>2]+(ft<<2)>>2]:-1)<<2)+bt|0;break c;case 0:case 2:case 4:break b;case 5:break d}}et=q[a+148>>2];bt=q[a+156>>2];dt=bt+(((us|0)!=-1?q[q[et>>2]+(us<<2)>>2]:-1)<<2)|0;q[dt>>2]=q[dt>>2]+2;dt=(((ct|0)!=-1?q[q[et>>2]+(ct<<2)>>2]:-1)<<2)+bt|0;q[dt>>2]=q[dt>>2]+2;ct=2;bt=(((ft|0)!=-1?q[q[et>>2]+(ft<<2)>>2]:-1)<<2)+bt|0}q[bt>>2]=q[bt>>2]+ct;bt=q[a+184>>2]}e:{if(bt>>>0>5){break e}f:{switch(bt-1|0){case 0:case 1:case 2:case 3:break e;default:break f}}bt=a;ft=bt;bt=q[bt+156>>2];ct=-1;g:{if((us|0)==-1){break g}ct=us+1|0;us=(ct>>>0)%3|0?ct:us+ -2|0;ct=-1;if((us|0)==-1){break g}ct=q[q[q[a+148>>2]>>2]+(us<<2)>>2]}q[ft+188>>2]=q[bt+(ct<<2)>>2]>5?0:5;return}q[a+188>>2]=-1}function Ji(a){q[a>>2]=11372;Dn(a+4|0,0,80);q[a+96>>2]=0;q[a+100>>2]=0;q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+104>>2]=0;q[a+108>>2]=0;q[a+112>>2]=0;q[a+116>>2]=0;q[a+120>>2]=0;q[a+124>>2]=0;q[a+128>>2]=0;q[a+132>>2]=0;q[a+136>>2]=0;q[a+140>>2]=0;q[a+144>>2]=0;q[a+148>>2]=0;q[a+156>>2]=0;q[a+160>>2]=0;q[a+152>>2]=1065353216;q[a+164>>2]=0;q[a+168>>2]=0;q[a+172>>2]=0;q[a+176>>2]=0;q[a+180>>2]=0;q[a+184>>2]=0;q[a+188>>2]=0;q[a+192>>2]=0;q[a+196>>2]=0;q[a+200>>2]=0;q[a+204>>2]=0;q[a+208>>2]=0;q[a+212>>2]=-1;q[a+216>>2]=0;q[a+220>>2]=0;q[a+224>>2]=0;ci(a+232|0);q[a+388>>2]=0;q[a+392>>2]=0;q[a+380>>2]=0;q[a+384>>2]=0;q[a+416>>2]=0;q[a+420>>2]=0;q[a+412>>2]=7;q[a+404>>2]=-1;q[a+408>>2]=2;q[a+396>>2]=0;q[a+400>>2]=-1;q[a+424>>2]=0;q[a+428>>2]=0;q[a+432>>2]=0;q[a+436>>2]=0}function Ki(a){a=a|0;var us=0,gt=0,ht=0,it=0,jt=0,kt=0,lt=0,mt=0,nt=0,ot=0,pt=0,qt=0,rt=0,st=0,tt=0,ut=0,vt=0;mt=T+ -64|0;T=mt;q[a+132>>2]=0;if(q[a+148>>2]){ht=a+144|0;gt=q[ht>>2];if(gt){while(1){us=q[gt>>2];An(gt);gt=us;if(us){continue}break}}q[ht>>2]=0;us=q[a+140>>2];if(us){ht=a+136|0;gt=0;while(1){q[q[ht>>2]+(gt<<2)>>2]=0;gt=gt+1|0;if((us|0)!=(gt|0)){continue}break}}q[a+148>>2]=0}a:{b:{c:{d:{e:{f:{gt=q[a+4>>2];ht=r[gt+36|0];us=ht<<8|r[gt+37|0];g:{if(us>>>0>513){break g}kt=q[gt+32>>2];if(us>>>0<=511){it=q[kt+12>>2];us=q[kt+20>>2];lt=q[kt+16>>2];jt=lt+4|0;if(jt>>>0<4){us=us+1|0}nt=jt;jt=us;if((it|0)<(us|0)?1:(it|0)<=(us|0)?t[kt+8>>2]>=nt>>>0?0:1:0){break f}us=lt+q[kt>>2]|0;us=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt>>2]=us;q[kt+16>>2]=nt;q[kt+20>>2]=jt;q[a+132>>2]=us;break g}if(!oi(1,mt,kt)){break f}gt=q[a+4>>2];ht=r[gt+36|0];q[a+132>>2]=q[mt>>2]}gt=q[gt+32>>2];h:{i:{j:{if((ht&255)>>>0<=1){ht=0;kt=q[gt+12>>2];us=q[gt+20>>2];it=q[gt+16>>2];jt=it+4|0;if(jt>>>0<4){us=us+1|0}lt=jt;jt=us;if((kt|0)<(us|0)?1:(kt|0)<=(us|0)?t[gt+8>>2]>=lt>>>0?0:1:0){break a}us=it+q[gt>>2]|0;us=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt+60>>2]=us;q[gt+16>>2]=lt;q[gt+20>>2]=jt;q[a+156>>2]=us;pt=a+156|0;break j}ht=0;if(!oi(1,mt+60|0,gt)){break a}us=q[a+4>>2];gt=q[us+32>>2];us=r[us+36|0];q[a+156>>2]=q[mt+60>>2];pt=a+156|0;if(us>>>0>1){break i}}kt=q[gt+12>>2];us=q[gt+20>>2];it=q[gt+16>>2];jt=it+4|0;if(jt>>>0<4){us=us+1|0}nt=jt;jt=us;if((kt|0)<(us|0)?1:(kt|0)<=(us|0)?t[gt+8>>2]>=nt>>>0?0:1:0){break a}us=it+q[gt>>2]|0;lt=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt+56>>2]=lt;q[gt+16>>2]=nt;q[gt+20>>2]=jt;break h}if(!oi(1,mt+56|0,gt)){break a}lt=q[mt+56>>2]}if(lt>>>0>1431655765|t[pt>>2]>w(lt,3)>>>0){break a}qt=q[a+4>>2];jt=q[qt+32>>2];rt=q[jt+8>>2];ot=q[jt+16>>2];kt=q[jt+12>>2];us=kt;gt=q[jt+20>>2];if((us|0)<(gt|0)?1:(us|0)<=(gt|0)?rt>>>0>ot>>>0?0:1:0){break a}tt=q[jt>>2];nt=r[tt+ot|0];us=gt;st=ot+1|0;if(st>>>0<1){us=us+1|0}q[jt+16>>2]=st;q[jt+20>>2]=us;k:{if(r[qt+36|0]<=1){us=gt;gt=ot+5|0;if(gt>>>0<5){us=us+1|0}it=gt;gt=us;if((kt|0)<(us|0)?1:(kt|0)<=(us|0)?rt>>>0>=it>>>0?0:1:0){break a}us=st+tt|0;kt=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt+52>>2]=kt;q[jt+16>>2]=it;q[jt+20>>2]=gt;break k}if(!oi(1,mt+52|0,jt)){break a}kt=q[mt+52>>2]}if(lt>>>0>>0|lt>>>0>((kt>>>0)/3|0)+kt>>>0){break a}us=q[a+4>>2];jt=q[us+32>>2];l:{if(r[us+36|0]<=1){it=q[jt+12>>2];us=q[jt+20>>2];ot=q[jt+16>>2];gt=ot+4|0;if(gt>>>0<4){us=us+1|0}qt=gt;gt=us;if((it|0)<(us|0)?1:(it|0)<=(us|0)?t[jt+8>>2]>=qt>>>0?0:1:0){break a}us=ot+q[jt>>2]|0;ot=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt+48>>2]=ot;q[jt+16>>2]=qt;q[jt+20>>2]=gt;break l}if(!oi(1,mt+48|0,jt)){break a}ot=q[mt+48>>2]}if(ot>>>0>kt>>>0){break a}q[a+28>>2]=q[a+24>>2];gt=Mm(88);jk(gt);us=q[a+8>>2];q[a+8>>2]=gt;jt=a+8|0;if(us){wa(jt,us);if(!q[jt>>2]){break a}}us=q[a+160>>2];q[a+164>>2]=us;m:{if(q[a+168>>2]-us>>2>>>0>=lt>>>0){break m}if(lt>>>0>=1073741824){break e}ht=lt<<2;gt=Mm(ht);q[a+164>>2]=gt;q[a+160>>2]=gt;q[a+168>>2]=gt+ht;if(!us){break m}An(us)}us=q[a+172>>2];q[a+176>>2]=us;n:{if(q[a+180>>2]-us>>2>>>0>=lt>>>0){break n}if(lt>>>0>=1073741824){break d}ht=lt<<2;gt=Mm(ht);q[a+176>>2]=gt;q[a+172>>2]=gt;q[a+180>>2]=gt+ht;if(!us){break n}An(us)}q[a+92>>2]=-1;q[a+84>>2]=-1;q[a+88>>2]=-1;q[a+40>>2]=q[a+36>>2];q[a- -64>>2]=0;q[a+52>>2]=q[a+48>>2];q[a+76>>2]=q[a+72>>2];qt=a+216|0;gt=q[a+220>>2];ht=q[a+216>>2];if((gt|0)==(ht|0)){break c}while(1){us=q[gt+ -12>>2];if(us){q[gt+ -8>>2]=us;An(us)}us=q[gt+ -28>>2];if(us){q[gt+ -24>>2]=us;An(us)}us=gt+ -144|0;it=q[gt+ -40>>2];if(it){q[gt+ -36>>2]=it;An(it)}pi(gt+ -140|0);gt=us;if((ht|0)!=(us|0)){continue}break}us=q[qt>>2];break b}ht=0;break a}ab(12024);F()}ab(12024);F()}us=ht}q[a+220>>2]=ht;gt=(ht-us|0)/144|0;o:{if(gt>>>0>>0){qi(qt,nt-gt|0);break o}if(gt>>>0<=nt>>>0){break o}gt=us+w(nt,144)|0;if((gt|0)!=(ht|0)){while(1){us=q[ht+ -12>>2];if(us){q[ht+ -8>>2]=us;An(us)}us=q[ht+ -28>>2];if(us){q[ht+ -24>>2]=us;An(us)}us=ht+ -144|0;it=q[ht+ -40>>2];if(it){q[ht+ -36>>2]=it;An(it)}pi(ht+ -140|0);ht=us;if((us|0)!=(gt|0)){continue}break}}q[a+220>>2]=gt}ht=0;if(!tk(q[jt>>2],lt,q[pt>>2]+ot|0)){break a}us=q[a+156>>2];o[mt|0]=1;bb(a+120|0,us+ot|0,mt);gt=q[a+4>>2];us=s[gt+36>>1];us=(us<<24|us<<8&16711680)>>>16;p:{if(us>>>0<=513){it=q[gt+32>>2];q:{if(us>>>0<=511){lt=q[it+12>>2];us=q[it+20>>2];pt=q[it+16>>2];gt=pt+4|0;if(gt>>>0<4){us=us+1|0}rt=gt;gt=us;if((lt|0)<(us|0)?1:(lt|0)<=(us|0)?t[it+8>>2]>=rt>>>0?0:1:0){break a}us=pt+q[it>>2]|0;lt=r[us|0]|r[us+1|0]<<8|(r[us+2|0]<<16|r[us+3|0]<<24);q[mt+44>>2]=lt;q[it+16>>2]=rt;q[it+20>>2]=gt;break q}if(!oi(1,mt+44|0,it)){break a}lt=q[mt+44>>2]}if(!lt){break a}us=q[q[a+4>>2]+32>>2];gt=q[us+8>>2];it=q[us+16>>2];us=q[us+12>>2]-(q[us+20>>2]+(gt>>>0>>0)|0)|0;if((us|0)<0?1:(us|0)<=0?gt-it>>>0>=lt>>>0?0:1:0){break a}it=Yj(mt);gt=q[q[a+4>>2]+32>>2];us=q[gt+16>>2];pt=q[gt+8>>2];Zj(it,(us+q[gt>>2]|0)+lt|0,(pt-us|0)-lt|0,s[gt+38>>1]);gt=ri(a,it);if((gt|0)==-1){break a}us=gt;it=us>>31;break p}us=-1;it=-1;if((ri(a,q[gt+32>>2])|0)==-1){break a}}q[a+376>>2]=a;pt=a+232|0;gt=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];rt=q[gt>>2]+q[gt+16>>2]|0;lt=q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2];gt=q[lt+8>>2];ht=q[lt+16>>2];Zj(pt,rt,gt-ht|0,s[q[(n[q[q[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);ut=a,vt=n[q[q[a>>2]+36>>2]](a)|0,q[ut+380>>2]=vt;q[a+372>>2]=nt;q[a+384>>2]=q[a+156>>2]+ot;ht=0;gt=Yj(mt);r:{if(!Li(pt,gt)){break r}lt=Mi(a,kt);if((lt|0)==-1){break r}kt=q[q[a+4>>2]+32>>2];ht=q[gt+16>>2];nt=ht+q[gt>>2]|0;gt=q[gt+8>>2];Zj(kt,nt,gt-ht|0,s[kt+38>>1]);gt=q[a+4>>2];ht=s[gt+36>>1];kt=(ht<<24|ht<<8&16711680)>>>16;if(kt>>>0<=513){ht=q[gt+32>>2];nt=ht;rt=ht;gt=it+q[ht+20>>2]|0;ht=us+q[ht+16>>2]|0;if(ht>>>0>>0){gt=gt+1|0}q[rt+16>>2]=ht;q[nt+20>>2]=gt}s:{if(q[a+220>>2]==q[a+216>>2]){break s}gt=q[jt>>2];us=q[gt+4>>2];gt=q[gt>>2];t:{if(kt>>>0>=513){if((us|0)==(gt|0)){break s}gt=0;break t}if((us|0)==(gt|0)){break s}gt=0;while(1){if(ui(a,gt)){gt=gt+3|0;us=q[jt>>2];if(gt>>>0>2]-q[us>>2]>>2>>>0){continue}break s}break}ht=0;break r}while(1){if(vi(a,gt)){gt=gt+3|0;us=q[jt>>2];if(gt>>>0>2]-q[us>>2]>>2>>>0){continue}break s}break}ht=0;break r}if(r[a+308|0]){ak(a+272|0)}if(s[a+270>>1]<=513){ak(a+328|0)}gt=q[a+216>>2];it=a+220|0;if((gt|0)!=q[it>>2]){kt=0;while(1){us=w(kt,144);Ek((us+gt|0)+4|0,q[jt>>2]);ht=q[qt>>2];nt=us+ht|0;gt=q[nt+132>>2];nt=q[nt+136>>2];if((gt|0)!=(nt|0)){while(1){Gk((us+ht|0)+4|0,q[gt>>2]);ht=q[qt>>2];gt=gt+4|0;if((nt|0)!=(gt|0)){continue}break}}Fk((us+ht|0)+4|0);kt=kt+1|0;gt=q[a+216>>2];if(kt>>>0<(q[it>>2]-gt|0)/144>>>0){continue}break}}us=q[a+8>>2];wi(a+184|0,q[us+28>>2]-q[us+24>>2]>>2);ht=q[a+216>>2];if((ht|0)!=q[it>>2]){gt=0;kt=a+220|0;while(1){us=w(gt,144)+ht|0;ht=q[us+60>>2]-q[us+56>>2]>>2;nt=us+104|0;us=q[jt>>2];us=q[us+28>>2]-q[us+24>>2]>>2;wi(nt,(ht|0)<(us|0)?us:ht);gt=gt+1|0;ht=q[a+216>>2];if(gt>>>0<(q[kt>>2]-ht|0)/144>>>0){continue}break}}ht=xi(a,lt)}}T=mt- -64|0;return ht|0}function Li(a,wt){var xt=0,yt=0,zt=0,At=0,Bt=0,Ct=0,Dt=0,Et=0,Ft=0,Gt=0,Ht=0,It=0;Et=T-16|0;T=Et;xt=q[a+144>>2];xt=s[(n[q[q[xt>>2]+32>>2]](xt)|0)+36>>1];a:{if((xt<<24|xt<<8&16711680)>>>16>>>0<=513){xt=q[a+4>>2];q[a+40>>2]=q[a>>2];q[a+44>>2]=xt;zt=a+32|0;xt=zt;yt=q[xt+4>>2];q[a+72>>2]=q[xt>>2];q[a+76>>2]=yt;yt=q[a+28>>2];xt=a- -64|0;q[xt>>2]=q[a+24>>2];q[xt+4>>2]=yt;xt=q[a+20>>2];q[a+56>>2]=q[a+16>>2];q[a+60>>2]=xt;xt=q[a+12>>2];q[a+48>>2]=q[a+8>>2];q[a+52>>2]=xt;b:{xt=a+40|0;if(_j(xt,1,Et+8|0)){yt=q[xt+4>>2];q[a>>2]=q[xt>>2];q[a+4>>2]=yt;yt=q[xt+36>>2];q[zt>>2]=q[xt+32>>2];q[zt+4>>2]=yt;zt=q[xt+28>>2];q[a+24>>2]=q[xt+24>>2];q[a+28>>2]=zt;yt=q[xt+20>>2];Bt=yt;zt=q[xt+16>>2];q[a+16>>2]=zt;q[a+20>>2]=yt;yt=q[xt+12>>2];xt=q[xt+8>>2];q[a+8>>2]=xt;q[a+12>>2]=yt;Ct=xt-zt|0;Dt=q[Et+12>>2];xt=yt-((xt>>>0>>0)+Bt|0)|0;yt=q[Et+8>>2];if((Dt|0)==(xt|0)&yt>>>0<=Ct>>>0|Dt>>>0>>0){break b}}At=0;break a}xt=Bt+Dt|0;zt=zt+yt|0;if(zt>>>0>>0){xt=xt+1|0}q[a+16>>2]=zt;q[a+20>>2]=xt}c:{if(s[a+38>>1]<=513){xt=q[a+4>>2];q[a+96>>2]=q[a>>2];q[a+100>>2]=xt;zt=a+32|0;xt=zt;yt=q[xt+4>>2];q[a+128>>2]=q[xt>>2];q[a+132>>2]=yt;yt=a+24|0;xt=yt;At=q[xt+4>>2];q[a+120>>2]=q[xt>>2];q[a+124>>2]=At;At=a+16|0;xt=At;Bt=q[xt+4>>2];q[a+112>>2]=q[xt>>2];q[a+116>>2]=Bt;Bt=a+8|0;xt=Bt;Ct=q[xt+4>>2];q[a+104>>2]=q[xt>>2];q[a+108>>2]=Ct;d:{xt=a+96|0;if(_j(xt,1,Et+8|0)){Ct=q[xt+4>>2];q[a>>2]=q[xt>>2];q[a+4>>2]=Ct;Ct=q[xt+36>>2];q[zt>>2]=q[xt+32>>2];q[zt+4>>2]=Ct;zt=q[xt+28>>2];q[yt>>2]=q[xt+24>>2];q[yt+4>>2]=zt;yt=q[xt+20>>2];Ct=yt;zt=q[xt+16>>2];q[At>>2]=zt;q[At+4>>2]=yt;yt=q[xt+12>>2];xt=q[xt+8>>2];q[Bt>>2]=xt;q[Bt+4>>2]=yt;Bt=xt-zt|0;Dt=q[Et+12>>2];yt=yt-((xt>>>0>>0)+Ct|0)|0;xt=q[Et+8>>2];if((Dt|0)==(yt|0)&xt>>>0<=Bt>>>0|Dt>>>0>>0){break d}}At=0;break a}At=Ct+Dt|0;zt=xt+zt|0;if(zt>>>0>>0){At=At+1|0}q[a+16>>2]=zt;q[a+20>>2]=At;break c}At=0;if(!bh(a+80|0,a)){break a}}At=0;if(!Ai(a)){break a}xt=q[a+4>>2];q[wt>>2]=q[a>>2];q[wt+4>>2]=xt;xt=q[a+36>>2];q[wt+32>>2]=q[a+32>>2];q[wt+36>>2]=xt;xt=q[a+28>>2];q[wt+24>>2]=q[a+24>>2];q[wt+28>>2]=xt;xt=q[a+20>>2];q[wt+16>>2]=q[a+16>>2];q[wt+20>>2]=xt;xt=q[a+12>>2];q[wt+8>>2]=q[a+8>>2];q[wt+12>>2]=xt;xt=q[a+144>>2];xt=s[(n[q[q[xt>>2]+32>>2]](xt)|0)+36>>1];e:{if((xt<<24|xt<<8&16711680)>>>16>>>0<=513){xt=q[a+144>>2];f:{if(r[(n[q[q[xt>>2]+32>>2]](xt)|0)+36|0]<=1){yt=q[wt+12>>2];xt=q[wt+20>>2];Bt=q[wt+16>>2];zt=Bt+4|0;if(zt>>>0<4){xt=xt+1|0}Ct=zt;zt=xt;if((yt|0)<(xt|0)?1:(yt|0)<=(xt|0)?t[wt+8>>2]>=Ct>>>0?0:1:0){break a}xt=Bt+q[wt>>2]|0;yt=r[xt|0]|r[xt+1|0]<<8|(r[xt+2|0]<<16|r[xt+3|0]<<24);q[Et+8>>2]=yt;q[wt+16>>2]=Ct;q[wt+20>>2]=zt;break f}if(!oi(1,Et+8|0,wt)){break a}yt=q[Et+8>>2]}xt=q[a+152>>2];if(yt>>>0>=xt>>>0){break a}Bt=q[wt+16>>2];yt=q[wt+12>>2];zt=q[wt+20>>2];if((yt|0)<(zt|0)?1:(yt|0)<=(zt|0)?t[wt+8>>2]>Bt>>>0?0:1:0){break a}Ct=r[Bt+q[wt>>2]|0];Bt=Bt+1|0;if(Bt>>>0<1){zt=zt+1|0}yt=wt;q[yt+16>>2]=Bt;q[yt+20>>2]=zt;if(Ct){break a}q[a+176>>2]=2;q[a+180>>2]=7;break e}q[a+176>>2]=2;q[a+180>>2]=7;xt=q[a+152>>2]}if((xt|0)<0){break a}q[Et+8>>2]=0;At=2;Bt=q[a+156>>2];yt=q[a+160>>2]-Bt>>2;g:{if(xt>>>0>yt>>>0){Ad(a+156|0,xt-yt|0,Et+8|0);At=q[a+176>>2];zt=q[a+180>>2];break g}zt=7;if(xt>>>0>=yt>>>0){break g}q[a+160>>2]=Bt+(xt<<2)}Bt=a+184|0;zt=(zt-At|0)+1|0;At=a+188|0;xt=q[At>>2];Ct=q[a+184>>2];yt=(xt-Ct|0)/12|0;h:{if(zt>>>0>yt>>>0){Ni(Bt,zt-yt|0);zt=q[At>>2];break h}if(zt>>>0>=yt>>>0){zt=xt;break h}zt=Ct+w(zt,12)|0;if((zt|0)!=(xt|0)){while(1){yt=xt+ -12|0;At=q[yt>>2];if(At){q[xt+ -8>>2]=At;An(At)}xt=yt;if((xt|0)!=(zt|0)){continue}break}}q[a+188>>2]=zt}Ct=a+196|0;xt=q[a+184>>2];yt=(zt-xt|0)/12|0;Dt=q[a+196>>2];At=q[a+200>>2]-Dt>>2;i:{if(yt>>>0>At>>>0){Fa(Ct,yt-At|0);zt=q[a+188>>2];xt=q[a+184>>2];break i}if(yt>>>0>=At>>>0){break i}q[a+200>>2]=Dt+(yt<<2)}At=1;if((xt|0)==(zt|0)){break a}xt=0;It=a+188|0;while(1){oi(1,Et+8|0,wt);zt=q[Et+8>>2];if(zt){yt=q[Bt>>2];Ft=w(xt,12);At=yt+Ft|0;Gt=At+4|0;Ht=q[At>>2];Dt=q[Gt>>2]-Ht>>2;j:{if(zt>>>0>Dt>>>0){Fa(At,zt-Dt|0);yt=q[Bt>>2];break j}if(zt>>>0>=Dt>>>0){break j}q[Gt>>2]=(zt<<2)+Ht}qh(zt,1,wt,q[yt+Ft>>2]);q[q[Ct>>2]+(xt<<2)>>2]=zt}At=1;xt=xt+1|0;if(xt>>>0<(q[It>>2]-q[a+184>>2]|0)/12>>>0){continue}break}}T=Et+16|0;return At} +function sl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=a+8|0;d=i[a+12>>2];h=i[a+8>>2];e=d-h>>2;a:{if((e|0)>(b|0)){break a}f=b+1|0;if(f>>>0>e>>>0){tl(j,f-e|0);break a}if(f>>>0>=e>>>0){break a}e=h+(f<<2)|0;if((e|0)!=(d|0)){while(1){d=d+ -4|0;f=i[d>>2];i[d>>2]=0;if(f){Ua(f)}if((d|0)!=(e|0)){continue}break}}i[a+12>>2]=e}b:{c:{d=i[i[c>>2]+56>>2];d:{if((d|0)>4){break d}d=o(d,12)+a|0;f=d+24|0;a=i[f>>2];k=d+28|0;g=i[k>>2];if((a|0)!=(g|0)){i[a>>2]=b;i[f>>2]=a+4;break d}l=d+20|0;d=i[l>>2];h=a-d|0;a=h>>2;e=a+1|0;if(e>>>0>=1073741824){break c}m=a<<2;g=g-d|0;a=g>>1;e=g>>2>>>0<536870911?a>>>0>>0?e:a:1073741823;a=0;e:{if(!e){break e}if(e>>>0>=1073741824){break b}a=Gm(e<<2)}g=m+a|0;i[g>>2]=b;e=a+(e<<2)|0;g=g+4|0;if((h|0)>=1){sn(a,d,h)}i[l>>2]=a;i[f>>2]=g;i[k>>2]=e;if(!d){break d}qn(d)}d=i[c>>2];i[d+60>>2]=b;a=i[j>>2];i[c>>2]=0;b=a+(b<<2)|0;a=i[b>>2];i[b>>2]=d;if(a){Ua(a)}return}Vm();x()}Da(14808);x()}function og(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=i[a+8>>2];c=i[a+4>>2];if((e-c|0)/12>>>0>=b>>>0){if(b){h=c;b=o(b,12);c=b+ -12|0;c=tn(h,0,(c-((c>>>0)%12|0)|0)+12|0)+b|0}i[a+4>>2]=c;return}a:{b:{c:{j=i[a>>2];f=(c-j|0)/12|0;d=f+b|0;if(d>>>0<357913942){f=o(f,12);e=(e-j|0)/12|0;g=e<<1;e=e>>>0<178956970?g>>>0>>0?d:g:357913941;if(e){if(e>>>0>=357913942){break c}h=Gm(o(e,12))}d=f+h|0;b=o(b,12);f=tn(d,0,b-((b+ -12>>>0)%12|0)|0);g=b+f|0;b=o(e,12)+h|0;if((c|0)==(j|0)){break b}while(1){d=d+ -12|0;i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;c=c+ -12|0;i[d>>2]=i[c>>2];i[d+4>>2]=i[c+4>>2];i[d+8>>2]=i[c+8>>2];i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0;if((c|0)!=(j|0)){continue}break}i[a+8>>2]=b;b=i[a+4>>2];i[a+4>>2]=g;c=i[a>>2];i[a>>2]=d;if((b|0)==(c|0)){break a}while(1){a=b+ -12|0;d=i[a>>2];if(d){i[b+ -8>>2]=d;qn(d)}b=a;if((b|0)!=(c|0)){continue}break}break a}Vm();x()}Da(12220);x()}i[a+8>>2]=b;i[a+4>>2]=g;i[a>>2]=f}if(c){qn(c)}}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;j=i[a+12>>2];d=i[a+68>>2];e=i[d+80>>2];g[b+84|0]=0;h=i[b+68>>2];c=i[b+72>>2]-h>>2;a:{if(e>>>0>c>>>0){Yb(b+68|0,e-c|0,12516);d=i[a+68>>2];e=i[d+80>>2];break a}if(e>>>0>=c>>>0){break a}i[b+72>>2]=h+(e<<2)}m=i[d+96>>2];c=i[d+100>>2]-m|0;d=(c|0)/12|0;if(!c){return 1}n=d>>>0>1?d:1;p=i[j+28>>2];d=0;b:{while(1){c:{c=(o(d,3)<<2)+p|0;h=i[c>>2];if((h|0)==-1){break c}j=o(d,12)+m|0;k=i[j>>2];if(k>>>0>=e>>>0){break c}f=h<<2;h=i[i[a+72>>2]+12>>2];f=i[f+h>>2];if(f>>>0>=e>>>0){break c}l=k<<2;k=i[b+68>>2];i[l+k>>2]=f;f=i[c+4>>2];if((f|0)==-1){break c}l=i[j+4>>2];if(l>>>0>=e>>>0){break c}f=i[h+(f<<2)>>2];if(f>>>0>=e>>>0){break c}i[k+(l<<2)>>2]=f;c=i[c+8>>2];if((c|0)==-1){break c}j=i[j+8>>2];if(j>>>0>=e>>>0){break c}c=i[h+(c<<2)>>2];if(c>>>0>=e>>>0){break c}i[k+(j<<2)>>2]=c;c=1;d=d+1|0;if((n|0)!=(d|0)){continue}break b}break}c=0}return c|0}function sd(a){var b=0,c=0,d=0;b=i[a+8>>2];d=i[a>>2];a:{if(j[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b+ -2|0;if((b|0)==-1|i[i[d>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1){break e}b=i[i[i[d+64>>2]+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}i[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b+ -2|0;i[a+8>>2]=b;if((b|0)!=-1){break b}}b=-1;c=i[a+4>>2];f:{if((c|0)==-1){break f}c=c+((c>>>0)%3|0?-1:2)|0;if((c|0)==-1|i[i[d>>2]+(c>>>3&536870908)>>2]>>>(c&31)&1){break f}d=i[i[i[d+64>>2]+12>>2]+(c<<2)>>2];if((d|0)==-1){break f}if((d>>>0)%3|0){b=d+ -1|0;break f}b=d+2|0}g[a+12|0]=0;i[a+8>>2]=b;return}if((b|0)!=i[a+4>>2]){break a}i[a+8>>2]=-1;return}c=-1;g:{if((b|0)==-1){break g}b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)==-1|i[i[d>>2]+(b>>>3&536870908)>>2]>>>(b&31)&1){break g}b=i[i[i[d+64>>2]+12>>2]+(b<<2)>>2];if((b|0)==-1){break g}if((b>>>0)%3|0){c=b+ -1|0;break g}c=b+2|0}i[a+8>>2]=c}}function pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;f=L-16|0;L=f;m=i[c+8>>2];h=i[c+16>>2];l=i[c+12>>2];d=l;k=i[c+20>>2];e=k;a:{if((d|0)<(e|0)?1:(d|0)<=(e|0)?m>>>0<=h>>>0:0){break a}n=i[c>>2];o=g[n+h|0];d=k;e=h+1|0;if(e>>>0<1){d=d+1|0}i[c+16>>2]=e;i[c+20>>2]=d;b:{if((o|0)==-2){break b}if((l|0)<(d|0)?1:(l|0)<=(d|0)?m>>>0<=e>>>0:0){break a}e=g[e+n|0];h=h+2|0;if(h>>>0<2){k=k+1|0}d=c;i[d+16>>2]=h;i[d+20>>2]=k;if((e+1&255)>>>0>4){break a}O[i[i[a>>2]+40>>2]](f+8|0,a,o,e);k=i[f+8>>2];i[f+8>>2]=0;d=i[a+20>>2];i[a+20>>2]=k;if(!d){i[f+8>>2]=0;break b}O[i[i[d>>2]+4>>2]](d);d=i[f+8>>2];i[f+8>>2]=0;if(!d){break b}O[i[i[d>>2]+4>>2]](d)}d=i[a+20>>2];if(d){if(!(O[i[i[a>>2]+28>>2]](a,d)|0)){break a}}if(!(O[i[i[a>>2]+36>>2]](a,b,c)|0)){break a}c=i[a+4>>2];if(!(!c|j[c+36|0]>1)){if(!(O[i[i[a>>2]+48>>2]](a,i[b+4>>2]-i[b>>2]>>2)|0)){break a}}p=1}L=f+16|0;return p|0}function fa(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=p(0),f=p(0),h=p(0),k=p(0),l=p(0),m=0,n=p(0),o=p(0),r=p(0),s=p(0),u=0;a:{if(i[c+28>>2]!=9|j[c+24|0]!=3){break a}a=i[a+4>>2];if(a+ -2>>>0>28){break a}u=1;m=i[c+80>>2];if(!m){break a}n=p(p(2)/p((1<>2]>>2]+i[c+48>>2]|0;a=i[i[b>>2]>>2]+i[b+48>>2]|0;b=0;while(1){h=p(0);o=p(0);r=p(0);e=p(p(n*p(i[a>>2]))+p(-1));f=p(p(n*p(i[a+4>>2]))+p(-1));l=p(p(p(1)-p(q(e)))-p(q(f)));k=p(t(p(-l),p(0)));s=p(-k);f=p(f+(f>>8;g[c+10|0]=d>>>16;g[c+11|0]=d>>>24;d=(Qn(o),Rn(2));g[c+4|0]=d;g[c+5|0]=d>>>8;g[c+6|0]=d>>>16;g[c+7|0]=d>>>24;d=(Qn(h),Rn(2));g[c|0]=d;g[c+1|0]=d>>>8;g[c+2|0]=d>>>16;g[c+3|0]=d>>>24;c=c+12|0;b=b+1|0;if((m|0)!=(b|0)){continue}break}}return u|0}function td(a,b,c,d){var e=0,f=0,g=0,h=0,j=0,k=0,l=0;i[a+4>>2]=b;i[a>>2]=3088;b=c;e=i[b+8>>2];f=i[b+12>>2];h=i[b+16>>2];j=i[b+20>>2];k=i[b>>2];l=i[b+4>>2];i[a+40>>2]=0;g=a+32|0;i[g>>2]=0;i[g+4>>2]=0;i[a+24>>2]=h;i[a+28>>2]=j;i[a+16>>2]=e;i[a+20>>2]=f;i[a+8>>2]=k;i[a+12>>2]=l;a:{b=i[b+28>>2]-i[b+24>>2]|0;if(b){e=b>>2;if(e>>>0>=1073741824){break a}b=Gm(b);i[a+32>>2]=b;i[a+36>>2]=b;i[a+40>>2]=b+(e<<2);e=a;f=i[c+24>>2];c=i[c+28>>2]-f|0;if((c|0)>=1){b=sn(b,f,c)+c|0}i[e+36>>2]=b}i[a>>2]=5116;b=i[d+4>>2];i[a+44>>2]=i[d>>2];i[a+48>>2]=b;b=d+8|0;e=i[b+4>>2];i[a+52>>2]=i[b>>2];i[a+56>>2]=e;c=a- -64|0;i[c>>2]=0;i[c+4>>2]=0;i[a+60>>2]=6656;i[a>>2]=6072;c=i[d+4>>2];i[a+72>>2]=i[d>>2];i[a+76>>2]=c;c=i[b+4>>2];i[a+80>>2]=i[b>>2];i[a+84>>2]=c;i[a+104>>2]=1065353216;i[a+108>>2]=-1;i[a+96>>2]=-1;i[a+100>>2]=-1;i[a+88>>2]=1;i[a+92>>2]=-1;i[a+60>>2]=6292;Be(a+112|0);return}Vm();x()}function Bc(a,b,c,d){var e=0,f=0,g=0,h=0,j=0,k=0,l=0;i[a+4>>2]=b;i[a>>2]=3088;b=c;e=i[b+8>>2];f=i[b+12>>2];h=i[b+16>>2];j=i[b+20>>2];k=i[b>>2];l=i[b+4>>2];i[a+40>>2]=0;g=a+32|0;i[g>>2]=0;i[g+4>>2]=0;i[a+24>>2]=h;i[a+28>>2]=j;i[a+16>>2]=e;i[a+20>>2]=f;i[a+8>>2]=k;i[a+12>>2]=l;a:{b=i[b+28>>2]-i[b+24>>2]|0;if(b){e=b>>2;if(e>>>0>=1073741824){break a}b=Gm(b);i[a+32>>2]=b;i[a+36>>2]=b;i[a+40>>2]=b+(e<<2);e=a;f=i[c+24>>2];c=i[c+28>>2]-f|0;if((c|0)>=1){b=sn(b,f,c)+c|0}i[e+36>>2]=b}i[a>>2]=3032;b=i[d+4>>2];i[a+44>>2]=i[d>>2];i[a+48>>2]=b;b=d+8|0;e=i[b+4>>2];i[a+52>>2]=i[b>>2];i[a+56>>2]=e;c=a- -64|0;i[c>>2]=0;i[c+4>>2]=0;i[a+60>>2]=4720;i[a>>2]=4092;c=i[d+4>>2];i[a+72>>2]=i[d>>2];i[a+76>>2]=c;c=i[b+4>>2];i[a+80>>2]=i[b>>2];i[a+84>>2]=c;i[a+104>>2]=1065353216;i[a+108>>2]=-1;i[a+96>>2]=-1;i[a+100>>2]=-1;i[a+88>>2]=1;i[a+92>>2]=-1;i[a+60>>2]=4328;Be(a+112|0);return}Vm();x()}function ha(a,b,c,d){var e=0,f=0,h=0,k=0,l=0,m=0,n=0;m=d-c|0;if((m|0)<1){return}k=i[a+8>>2];l=i[a+4>>2];if((m|0)<=(k-l|0)){k=l-b|0;a:{if((m|0)<=(k|0)){f=d;e=l;d=e;break a}f=c+k|0;b:{if((f|0)==(d|0)){e=l;break b}e=l;h=f;while(1){g[e|0]=j[h|0];e=e+1|0;h=h+1|0;if((h|0)!=(d|0)){continue}break}}i[a+4>>2]=e;if((k|0)<1){return}d=e}k=e-(b+m|0)|0;h=e-m|0;if(h>>>0>>0){e=d;while(1){g[e|0]=j[h|0];e=e+1|0;h=h+1|0;if(h>>>0>>0){continue}break}}i[a+4>>2]=e;if(k){un(d-k|0,b,k)}if((c|0)==(f|0)){return}e=b;while(1){g[e|0]=j[c|0];e=e+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}return}e=i[a>>2];f=(l-e|0)+m|0;if((f|0)>-1){h=b-e|0;n=h;k=k-e|0;d=k<<1;f=k>>>0<1073741823?d>>>0>>0?f:d:2147483647;d=0;c:{if(!f){break c}d=Gm(f)}c=sn(n+d|0,c,m);if((h|0)>=1){sn(d,e,h)}f=d+f|0;c=c+m|0;l=l-b|0;if((l|0)>=1){c=sn(c,b,l)+l|0}i[a+8>>2]=f;i[a+4>>2]=c;i[a>>2]=d;if(e){qn(e)}return}Vm();x()}function ah(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a:{b:{if(b){if(b>>>0>=1073741824){break a}c=Gm(b<<2);d=i[a>>2];i[a>>2]=c;if(d){qn(d)}i[a+4>>2]=b;d=b>>>0>1?b:1;c=0;while(1){i[i[a>>2]+(c<<2)>>2]=0;c=c+1|0;if((d|0)!=(c|0)){continue}break}f=i[a+8>>2];if(!f){break b}d=a+8|0;g=i[f+4>>2];c=Mn(b);c:{if(c>>>0<=1){g=b+ -1&g;break c}if(g>>>0>>0){break c}g=(g>>>0)%(b>>>0)|0}i[i[a>>2]+(g<<2)>>2]=d;d=i[f>>2];if(!d){break b}k=b+ -1|0;l=c>>>0>1;while(1){e=i[d+4>>2];d:{if(!l){e=e&k;break d}if(e>>>0>>0){break d}e=(e>>>0)%(b>>>0)|0}e:{if((e|0)==(g|0)){f=d;break e}c=d;h=e<<2;j=h+i[a>>2]|0;if(!i[j>>2]){i[j>>2]=f;f=d;g=e;break e}while(1){e=c;c=i[c>>2];if(i[d+8>>2]==i[c+8>>2]?c:0){continue}break}i[f>>2]=c;i[e>>2]=i[i[i[a>>2]+h>>2]>>2];i[i[i[a>>2]+h>>2]>>2]=d}d=i[f>>2];if(d){continue}break}break b}b=i[a>>2];i[a>>2]=0;if(b){qn(b)}i[a+4>>2]=0}return}Da(12220);x()}function ei(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=L-16|0;L=e;k=fi(a,b);a:{if(!k){break a}d=i[b+100>>2];f=i[b+96>>2];if((d|0)==(f|0)){break a}while(1){if(!(i[i[a+56>>2]+(j>>>3&536870908)>>2]>>>(j&31)&1)){d=o(j,3);Wk(a,0,d);f=i[a+8>>2];h=i[a+12>>2];Wk(a,1,d+1|0);g=i[a+20>>2];l=i[a+24>>2];Wk(a,2,d+2|0);g=l-g>>2;f=h-f|0;h=f>>2;d=g>>>0>h>>>0;h=i[a+36>>2]-i[a+32>>2]>>2>>>0>(d?g:h)>>>0?2:d?1:f?0:-1;b:{if(i[a+68>>2]<1){break b}i[e+12>>2]=i[a+76>>2];i[e+8>>2]=c;gi(e+8|0,e+12|0);f=e;g=i[((h<<2)+a|0)+44>>2];d=-1;c:{if((g|0)<0){break c}d=(g>>>0)/3|0;d=i[(i[i[a>>2]+96>>2]+o(d,12)|0)+(g-o(d,3)<<2)>>2]}i[f+12>>2]=d;i[e+8>>2]=c;gi(e+8|0,e+12|0);f=i[a+72>>2]+2|0;i[a+72>>2]=f;if(!(f&1)){break b}i[e+12>>2]=d;i[e+8>>2]=c;gi(e+8|0,e+12|0);i[a+72>>2]=i[a+72>>2]+1}hi(a,h,c);f=i[b+96>>2];d=i[b+100>>2]}j=j+1|0;if(j>>>0<(d-f|0)/12>>>0){continue}break}}L=e+16|0;return k}function sb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0;e=i[b+12>>2];a:{f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){k=1;break a}i[a+8>>2]=0;d=0;while(1){if(!Ce(((d<<4)+a|0)+16|0,b)){break a}d=d+1|0;if((d|0)!=32){continue}break}if(!Ce(a+528|0,b)){break a}if(!ze(a+544|0,b)){break a}if(!ze(a+564|0,b)){break a}if(!ze(a+584|0,b)){break a}return Cb(a,i[a+4>>2],c)}return k}function rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0;e=i[b+12>>2];a:{f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){k=1;break a}i[a+8>>2]=0;d=0;while(1){if(!Ce(((d<<4)+a|0)+16|0,b)){break a}d=d+1|0;if((d|0)!=32){continue}break}if(!Ce(a+528|0,b)){break a}if(!ze(a+544|0,b)){break a}if(!ze(a+564|0,b)){break a}if(!ze(a+584|0,b)){break a}return Bb(a,i[a+4>>2],c)}return k}function ob(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0;e=i[b+12>>2];a:{f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){k=1;break a}i[a+8>>2]=0;d=0;while(1){if(!Ce(((d<<4)+a|0)+16|0,b)){break a}d=d+1|0;if((d|0)!=32){continue}break}if(!Ce(a+528|0,b)){break a}if(!ze(a+544|0,b)){break a}if(!ze(a+564|0,b)){break a}if(!ze(a+584|0,b)){break a}return zb(a,i[a+4>>2],c)}return k}function kg(a){i[a>>2]=11568;tn(a+4|0,0,80);i[a+96>>2]=0;i[a+100>>2]=0;i[a+92>>2]=-1;i[a+84>>2]=-1;i[a+88>>2]=-1;i[a+104>>2]=0;i[a+108>>2]=0;i[a+112>>2]=0;i[a+116>>2]=0;i[a+120>>2]=0;i[a+124>>2]=0;i[a+128>>2]=0;i[a+132>>2]=0;i[a+136>>2]=0;i[a+140>>2]=0;i[a+144>>2]=0;i[a+148>>2]=0;i[a+156>>2]=0;i[a+160>>2]=0;i[a+152>>2]=1065353216;i[a+164>>2]=0;i[a+168>>2]=0;i[a+172>>2]=0;i[a+176>>2]=0;i[a+180>>2]=0;i[a+184>>2]=0;i[a+188>>2]=0;i[a+192>>2]=0;i[a+196>>2]=0;i[a+200>>2]=0;i[a+204>>2]=0;i[a+208>>2]=0;i[a+212>>2]=-1;i[a+216>>2]=0;i[a+220>>2]=0;i[a+224>>2]=0;Bh(a+232|0);Bh(a+272|0);Be(a+312|0);Bh(a+328|0);i[a+392>>2]=0;i[a+396>>2]=0;i[a+384>>2]=0;i[a+388>>2]=0;i[a+376>>2]=0;i[a+380>>2]=0;i[a+368>>2]=0;i[a+372>>2]=0;i[a+416>>2]=0;i[a+420>>2]=0;i[a+408>>2]=2;i[a+412>>2]=7;i[a+400>>2]=-1;i[a+404>>2]=-1;i[a+424>>2]=0;i[a+428>>2]=0;i[a+432>>2]=0;i[a+436>>2]=0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,q=0;g=i[b+12>>2];c=g;d=i[b+20>>2];e=d;a:{h=i[b+16>>2];f=h+4|0;if(f>>>0<4){d=d+1|0}l=i[b+8>>2];if((c|0)<(d|0)?1:(c|0)<=(d|0)?l>>>0>>0:0){break a}n=i[b>>2];c=h+n|0;o=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=f;i[b+20>>2]=d;q=k[b+38>>1];if(q>>>0<=513){c=g;d=e;e=h+8|0;if(e>>>0<8){d=d+1|0}f=e;if((c|0)<(d|0)?1:(c|0)<=(d|0)?l>>>0>>0:0){break a}i[b+16>>2]=f;i[b+20>>2]=d}if(!(o&1)){break a}c=r(o)^31;if(c+ -1>>>0>28){break a}i[a+8>>2]=c+1;e=-2<>2]=c;i[a+12>>2]=e^-1;i[a+24>>2]=(c|0)/2;m[a+20>>2]=p(2)/p(c|0);if(q>>>0<=513){if((g|0)<(d|0)?1:(g|0)<=(d|0)?l>>>0<=f>>>0:0){break a}c=j[f+n|0];e=f+1|0;if(e>>>0<1){d=d+1|0}i[b+16>>2]=e;i[b+20>>2]=d;d=0;b:{switch(c|0){case 1:d=1;break;case 0:break b;default:break a}}i[a+72>>2]=d}return Ce(a+96|0,b)|0}return 0}function bf(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=L+ -64|0;L=d;i[d+56>>2]=0;i[d+48>>2]=0;i[d+52>>2]=0;i[d+40>>2]=0;i[d+44>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;i[d+24>>2]=0;i[d+28>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;i[d+8>>2]=0;i[d+12>>2]=0;a:{if(!qf(d+8|0,b)){break a}if(a){if(!i[d+20>>2]){break a}if(!rf(d+8|0,b)){break a}b=i[d+56>>2];k=i[d+36>>2];l=i[d+48>>2];m=i[d+24>>2];while(1){b:{if(b>>>0>4194303){break b}e=i[d+52>>2];while(1){if((e|0)<1){break b}e=e+ -1|0;i[d+52>>2]=e;b=j[e+l|0]|b<<8;i[d+56>>2]=b;if(b>>>0<4194304){continue}break}}e=b&1048575;g=i[(e<<2)+m>>2];h=(g<<3)+k|0;b=(o(i[h>>2],b>>>20|0)+e|0)-i[h+4>>2]|0;i[d+56>>2]=b;i[(f<<2)+c>>2]=g;e=1;f=f+1|0;if((f|0)!=(a|0)){continue}break}break a}e=rf(d+8|0,b)}a=i[d+36>>2];if(a){i[d+40>>2]=a;qn(a)}a=i[d+24>>2];if(a){i[d+28>>2]=a;qn(a)}a=i[d+8>>2];if(a){i[d+12>>2]=a;qn(a)}L=d- -64|0;return e}function af(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=L+ -64|0;L=d;i[d+56>>2]=0;i[d+48>>2]=0;i[d+52>>2]=0;i[d+40>>2]=0;i[d+44>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;i[d+24>>2]=0;i[d+28>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;i[d+8>>2]=0;i[d+12>>2]=0;a:{if(!of(d+8|0,b)){break a}if(a){if(!i[d+20>>2]){break a}if(!pf(d+8|0,b)){break a}b=i[d+56>>2];k=i[d+36>>2];l=i[d+48>>2];m=i[d+24>>2];while(1){b:{if(b>>>0>2097151){break b}e=i[d+52>>2];while(1){if((e|0)<1){break b}e=e+ -1|0;i[d+52>>2]=e;b=j[e+l|0]|b<<8;i[d+56>>2]=b;if(b>>>0<2097152){continue}break}}e=b&524287;g=i[(e<<2)+m>>2];h=(g<<3)+k|0;b=(o(i[h>>2],b>>>19|0)+e|0)-i[h+4>>2]|0;i[d+56>>2]=b;i[(f<<2)+c>>2]=g;e=1;f=f+1|0;if((f|0)!=(a|0)){continue}break}break a}e=pf(d+8|0,b)}a=i[d+36>>2];if(a){i[d+40>>2]=a;qn(a)}a=i[d+24>>2];if(a){i[d+28>>2]=a;qn(a)}a=i[d+8>>2];if(a){i[d+12>>2]=a;qn(a)}L=d- -64|0;return e}function Le(a,b){var c=0,d=0,e=0;e=L-16|0;L=e;i[e+12>>2]=b;b=Gm(32);i[e>>2]=b;i[e+4>>2]=24;i[e+8>>2]=-2147483616;g[b+24|0]=0;c=j[11181]|j[11182]<<8|(j[11183]<<16|j[11184]<<24);d=j[11177]|j[11178]<<8|(j[11179]<<16|j[11180]<<24);g[b+16|0]=d;g[b+17|0]=d>>>8;g[b+18|0]=d>>>16;g[b+19|0]=d>>>24;g[b+20|0]=c;g[b+21|0]=c>>>8;g[b+22|0]=c>>>16;g[b+23|0]=c>>>24;c=j[11173]|j[11174]<<8|(j[11175]<<16|j[11176]<<24);d=j[11169]|j[11170]<<8|(j[11171]<<16|j[11172]<<24);g[b+8|0]=d;g[b+9|0]=d>>>8;g[b+10|0]=d>>>16;g[b+11|0]=d>>>24;g[b+12|0]=c;g[b+13|0]=c>>>8;g[b+14|0]=c>>>16;g[b+15|0]=c>>>24;c=j[11165]|j[11166]<<8|(j[11167]<<16|j[11168]<<24);d=j[11161]|j[11162]<<8|(j[11163]<<16|j[11164]<<24);g[b|0]=d;g[b+1|0]=d>>>8;g[b+2|0]=d>>>16;g[b+3|0]=d>>>24;g[b+4|0]=c;g[b+5|0]=c>>>8;g[b+6|0]=c>>>16;g[b+7|0]=c>>>24;Jh(Me(a,e+12|0),e);if(g[e+11|0]<=-1){qn(i[e>>2])}L=e+16|0}function $e(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=L+ -64|0;L=d;i[d+56>>2]=0;i[d+48>>2]=0;i[d+52>>2]=0;i[d+40>>2]=0;i[d+44>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;i[d+24>>2]=0;i[d+28>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;i[d+8>>2]=0;i[d+12>>2]=0;a:{if(!mf(d+8|0,b)){break a}if(a){if(!i[d+20>>2]){break a}if(!nf(d+8|0,b)){break a}b=i[d+56>>2];k=i[d+36>>2];l=i[d+48>>2];m=i[d+24>>2];while(1){b:{if(b>>>0>1048575){break b}e=i[d+52>>2];while(1){if((e|0)<1){break b}e=e+ -1|0;i[d+52>>2]=e;b=j[e+l|0]|b<<8;i[d+56>>2]=b;if(b>>>0<1048576){continue}break}}e=b&262143;g=i[(e<<2)+m>>2];h=(g<<3)+k|0;b=(o(i[h>>2],b>>>18|0)+e|0)-i[h+4>>2]|0;i[d+56>>2]=b;i[(f<<2)+c>>2]=g;e=1;f=f+1|0;if((f|0)!=(a|0)){continue}break}break a}e=nf(d+8|0,b)}a=i[d+36>>2];if(a){i[d+40>>2]=a;qn(a)}a=i[d+24>>2];if(a){i[d+28>>2]=a;qn(a)}a=i[d+8>>2];if(a){i[d+12>>2]=a;qn(a)}L=d- -64|0;return e}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,q=0;g=i[b+12>>2];h=g;c=i[b+20>>2];f=c;a:{l=i[b+16>>2];d=l+4|0;if(d>>>0<4){c=c+1|0}n=i[b+8>>2];e=d;d=c;if((h|0)<(c|0)?1:(h|0)<=(c|0)?n>>>0>>0:0){break a}h=i[b>>2];c=h+l|0;q=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=e;i[b+20>>2]=d;d=g;c=f;e=l+8|0;if(e>>>0<8){c=c+1|0}o=e;if((d|0)<(c|0)?1:(d|0)<=(c|0)?n>>>0>>0:0){break a}i[b+16>>2]=o;i[b+20>>2]=c;if(!(q&1)){break a}d=r(q)^31;if(d+ -1>>>0>28){break a}i[a+8>>2]=d+1;d=-2<>2]=e;i[a+12>>2]=d^-1;i[a+24>>2]=(e|0)/2;m[a+20>>2]=p(2)/p(e|0);if(k[b+38>>1]<=513){if((g|0)<(c|0)?1:(g|0)<=(c|0)?n>>>0<=o>>>0:0){break a}g=j[h+o|0];d=l+9|0;if(d>>>0<9){f=f+1|0}c=b;i[c+16>>2]=d;i[c+20>>2]=f;f=0;b:{switch(g|0){case 1:f=1;break;case 0:break b;default:break a}}i[a+72>>2]=f}return Ce(a+96|0,b)|0}return 0}function _e(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=L+ -64|0;L=d;i[d+56>>2]=0;i[d+48>>2]=0;i[d+52>>2]=0;i[d+40>>2]=0;i[d+44>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;i[d+24>>2]=0;i[d+28>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;i[d+8>>2]=0;i[d+12>>2]=0;a:{if(!kf(d+8|0,b)){break a}if(a){if(!i[d+20>>2]){break a}if(!lf(d+8|0,b)){break a}b=i[d+56>>2];k=i[d+36>>2];l=i[d+48>>2];m=i[d+24>>2];while(1){b:{if(b>>>0>262143){break b}e=i[d+52>>2];while(1){if((e|0)<1){break b}e=e+ -1|0;i[d+52>>2]=e;b=j[e+l|0]|b<<8;i[d+56>>2]=b;if(b>>>0<262144){continue}break}}e=b&65535;g=i[(e<<2)+m>>2];h=(g<<3)+k|0;b=(o(i[h>>2],b>>>16|0)+e|0)-i[h+4>>2]|0;i[d+56>>2]=b;i[(f<<2)+c>>2]=g;e=1;f=f+1|0;if((f|0)!=(a|0)){continue}break}break a}e=lf(d+8|0,b)}a=i[d+36>>2];if(a){i[d+40>>2]=a;qn(a)}a=i[d+24>>2];if(a){i[d+28>>2]=a;qn(a)}a=i[d+8>>2];if(a){i[d+12>>2]=a;qn(a)}L=d- -64|0;return e}function Ze(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=L+ -64|0;L=d;i[d+56>>2]=0;i[d+48>>2]=0;i[d+52>>2]=0;i[d+40>>2]=0;i[d+44>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;i[d+24>>2]=0;i[d+28>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;i[d+8>>2]=0;i[d+12>>2]=0;a:{if(!hf(d+8|0,b)){break a}if(a){if(!i[d+20>>2]){break a}if(!jf(d+8|0,b)){break a}b=i[d+56>>2];k=i[d+36>>2];l=i[d+48>>2];m=i[d+24>>2];while(1){b:{if(b>>>0>131071){break b}e=i[d+52>>2];while(1){if((e|0)<1){break b}e=e+ -1|0;i[d+52>>2]=e;b=j[e+l|0]|b<<8;i[d+56>>2]=b;if(b>>>0<131072){continue}break}}e=b&32767;g=i[(e<<2)+m>>2];h=(g<<3)+k|0;b=(o(i[h>>2],b>>>15|0)+e|0)-i[h+4>>2]|0;i[d+56>>2]=b;i[(f<<2)+c>>2]=g;e=1;f=f+1|0;if((f|0)!=(a|0)){continue}break}break a}e=jf(d+8|0,b)}a=i[d+36>>2];if(a){i[d+40>>2]=a;qn(a)}a=i[d+24>>2];if(a){i[d+28>>2]=a;qn(a)}a=i[d+8>>2];if(a){i[d+12>>2]=a;qn(a)}L=d- -64|0;return e}function Uk(a,b){var c=0,d=0,e=0,f=0,h=0,j=0;e=i[a>>2];c=e+(b>>>3&536870908)|0;i[c>>2]=i[c>>2]|1<<(b&31);h=i[a+64>>2];f=(b|0)==-1;c=-1;a:{if(f){break a}d=b+1|0;d=(d>>>0)%3|0?d:b+ -2|0;c=-1;if((d|0)==-1){break a}c=i[i[h>>2]+(d<<2)>>2]}d=i[a+12>>2];j=(c>>>3&536870908)+d|0;i[j>>2]=i[j>>2]|1<<(c&31);b:{c:{if(!f){c=-1;f=((b>>>0)%3|0?-1:2)+b|0;if((f|0)!=-1){c=i[i[h>>2]+(f<<2)>>2]}f=d+(c>>>3&536870908)|0;i[f>>2]=i[f>>2]|1<<(c&31);b=i[i[h+12>>2]+(b<<2)>>2];if((b|0)==-1){break b}g[a+24|0]=0;a=(b>>>3&536870908)+e|0;i[a>>2]=i[a>>2]|1<<(b&31);a=-1;c=-1;e=b+1|0;e=(e>>>0)%3|0?e:b+ -2|0;if((e|0)!=-1){c=i[i[h>>2]+(e<<2)>>2]}e=d+(c>>>3&536870908)|0;i[e>>2]=i[e>>2]|1<<(c&31);b=b+((b>>>0)%3|0?-1:2)|0;if((b|0)!=-1){a=i[i[h>>2]+(b<<2)>>2]}b=1<<(a&31);a=d+(a>>>3&536870908)|0;c=i[a>>2];break c}a=d+536870908|0;b=i[d+536870908>>2];c=-2147483648}i[a>>2]=b|c}}function Ye(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=L+ -64|0;L=d;i[d+56>>2]=0;i[d+48>>2]=0;i[d+52>>2]=0;i[d+40>>2]=0;i[d+44>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;i[d+24>>2]=0;i[d+28>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;i[d+8>>2]=0;i[d+12>>2]=0;a:{if(!ff(d+8|0,b)){break a}if(a){if(!i[d+20>>2]){break a}if(!gf(d+8|0,b)){break a}b=i[d+56>>2];k=i[d+36>>2];l=i[d+48>>2];m=i[d+24>>2];while(1){b:{if(b>>>0>32767){break b}e=i[d+52>>2];while(1){if((e|0)<1){break b}e=e+ -1|0;i[d+52>>2]=e;b=j[e+l|0]|b<<8;i[d+56>>2]=b;if(b>>>0<32768){continue}break}}e=b&8191;g=i[(e<<2)+m>>2];h=(g<<3)+k|0;b=(o(i[h>>2],b>>>13|0)+e|0)-i[h+4>>2]|0;i[d+56>>2]=b;i[(f<<2)+c>>2]=g;e=1;f=f+1|0;if((f|0)!=(a|0)){continue}break}break a}e=gf(d+8|0,b)}a=i[d+36>>2];if(a){i[d+40>>2]=a;qn(a)}a=i[d+24>>2];if(a){i[d+28>>2]=a;qn(a)}a=i[d+8>>2];if(a){i[d+12>>2]=a;qn(a)}L=d- -64|0;return e}function Xe(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;d=L+ -64|0;L=d;i[d+56>>2]=0;i[d+48>>2]=0;i[d+52>>2]=0;i[d+40>>2]=0;i[d+44>>2]=0;i[d+32>>2]=0;i[d+36>>2]=0;i[d+24>>2]=0;i[d+28>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;i[d+8>>2]=0;i[d+12>>2]=0;a:{if(!Ve(d+8|0,b)){break a}if(a){if(!i[d+20>>2]){break a}if(!We(d+8|0,b)){break a}b=i[d+56>>2];k=i[d+36>>2];l=i[d+48>>2];m=i[d+24>>2];while(1){b:{if(b>>>0>16383){break b}e=i[d+52>>2];while(1){if((e|0)<1){break b}e=e+ -1|0;i[d+52>>2]=e;b=j[e+l|0]|b<<8;i[d+56>>2]=b;if(b>>>0<16384){continue}break}}e=b&4095;g=i[(e<<2)+m>>2];h=(g<<3)+k|0;b=(o(i[h>>2],b>>>12|0)+e|0)-i[h+4>>2]|0;i[d+56>>2]=b;i[(f<<2)+c>>2]=g;e=1;f=f+1|0;if((f|0)!=(a|0)){continue}break}break a}e=We(d+8|0,b)}a=i[d+36>>2];if(a){i[d+40>>2]=a;qn(a)}a=i[d+24>>2];if(a){i[d+28>>2]=a;qn(a)}a=i[d+8>>2];if(a){i[d+12>>2]=a;qn(a)}L=d- -64|0;return e}function Na(a,b){var c=0,d=0,e=0,f=0,h=0;if(!i[a+64>>2]){c=Gm(32);yh(c);d=i[a+64>>2];i[a+64>>2]=c;e=a;if(d){c=i[d>>2];if(c){i[d+4>>2]=c;qn(c)}qn(d);c=i[a+64>>2]}Ja(e,c,0,0)}a:{b:{if(!Ia(a,b)){break b}g[a+84|0]=j[b+84|0];i[a+80>>2]=i[b+80>>2];if((a|0)!=(b|0)){Oa(a+68|0,i[b+68>>2],i[b+72>>2])}d=i[b+88>>2];if(d){b=Gm(40);c=i[d>>2];i[b+16>>2]=0;i[b+8>>2]=0;i[b+12>>2]=0;i[b>>2]=c;e=i[d+12>>2]-i[d+8>>2]|0;if(e){if((e|0)<=-1){break a}c=Gm(e);i[b+8>>2]=c;i[b+12>>2]=c;i[b+16>>2]=c+e;e=b;h=i[d+8>>2];f=i[d+12>>2]-h|0;if((f|0)>=1){c=sn(c,h,f)+f|0}i[e+12>>2]=c}c=i[d+36>>2];i[b+32>>2]=i[d+32>>2];i[b+36>>2]=c;c=i[d+28>>2];i[b+24>>2]=i[d+24>>2];i[b+28>>2]=c;c=i[a+88>>2];i[a+88>>2]=b;if(!c){break b}a=i[c+8>>2];if(a){i[c+12>>2]=a;qn(a)}qn(c);return}b=i[a+88>>2];i[a+88>>2]=0;if(!b){break b}a=i[b+8>>2];if(a){i[b+12>>2]=a;qn(a)}qn(b)}return}Vm();x()}function Gl(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{e=i[b+12>>2];f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){break a}i[a+8>>2]=0;d=0;while(1){if(!Ce(((d<<4)+a|0)+16|0,b)){break a}d=d+1|0;if((d|0)!=32){continue}break}if(!Ce(a+528|0,b)){break a}if(!ze(a+544|0,b)){break a}if(!ze(a+564|0,b)){break a}if(!ze(a+584|0,b)){break a}Nl(a,i[a+4>>2],c)}}function Fl(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{e=i[b+12>>2];f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){break a}i[a+8>>2]=0;d=0;while(1){if(!Ce(((d<<4)+a|0)+16|0,b)){break a}d=d+1|0;if((d|0)!=32){continue}break}if(!Ce(a+528|0,b)){break a}if(!ze(a+544|0,b)){break a}if(!ze(a+564|0,b)){break a}if(!ze(a+584|0,b)){break a}Ml(a,i[a+4>>2],c)}}function El(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{e=i[b+12>>2];f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){break a}i[a+8>>2]=0;d=0;while(1){if(!Ce(((d<<4)+a|0)+16|0,b)){break a}d=d+1|0;if((d|0)!=32){continue}break}if(!Ce(a+528|0,b)){break a}if(!ze(a+544|0,b)){break a}if(!ze(a+564|0,b)){break a}if(!ze(a+584|0,b)){break a}Ll(a,i[a+4>>2],c)}}function Vk(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,p=0;d=L-16|0;L=d;l=ol(b);a:{if(!l){i[a>>2]=0;break a}c=i[b+100>>2];h=i[b+96>>2];i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;f=c-h|0;e=(f|0)/12|0;b:{c:{if(f){if(e>>>0>=357913942){break c}k=Gm(f);i[d>>2]=k;i[d+4>>2]=k;e=o(e,12)+k|0;i[d+8>>2]=e;c=k;while(1){i[c>>2]=0;i[c+4>>2]=0;i[c+8>>2]=0;c=c+12|0;if((e|0)!=(c|0)){continue}break}i[d+4>>2]=e;h=i[b+96>>2];c=i[b+100>>2]}if((c|0)==(h|0)){break b}b=(c-h|0)/12|0;n=b>>>0>1?b:1;c=0;p=j[l+84|0];while(1){f=o(c,12);g=f+h|0;b=i[g>>2];d:{if(p){m=g+8|0;g=g+4|0;break d}e=i[l+68>>2];m=e+(i[g+8>>2]<<2)|0;b=i[e+(b<<2)>>2];g=e+(i[g+4>>2]<<2)|0}e=i[g>>2];f=f+k|0;i[f+8>>2]=i[m>>2];i[f+4>>2]=e;i[f>>2]=b;c=c+1|0;if((n|0)!=(c|0)){continue}break}break b}Vm();x()}zk(a,d);a=i[d>>2];if(!a){break a}i[d+4>>2]=a;qn(a)}L=d+16|0}function qb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=L-16|0;L=c;i[a+12>>2]=b;i[a+8>>2]=0;i[a>>2]=0;i[a+4>>2]=0;Ab(a+16|0);Be(a+528|0);xe(a+544|0);xe(a+564|0);xe(a+584|0);i[a+612>>2]=0;i[a+604>>2]=0;i[a+608>>2]=0;a:{if(b){if(b>>>0>=1073741824){break a}f=b<<2;d=Gm(f);i[a+604>>2]=d;e=d+f|0;i[a+612>>2]=e;tn(d,0,f);i[a+608>>2]=e}i[a+616>>2]=0;i[a+620>>2]=0;i[a+624>>2]=0;if(b){f=b<<2;d=Gm(f);i[a+616>>2]=d;e=d+f|0;i[a+624>>2]=e;tn(d,0,f);i[a+620>>2]=e}i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0;g=a+628|0;f=b<<5|1;if(b){d=b<<2;e=Gm(d);i[c>>2]=e;h=d+e|0;i[c+8>>2]=h;tn(e,0,d);i[c+4>>2]=h}vb(g,f,c);d=i[c>>2];if(d){i[c+4>>2]=d;qn(d)}i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0;e=a+640|0;if(b){b=b<<2;d=Gm(b);i[c>>2]=d;g=b+d|0;i[c+8>>2]=g;tn(d,0,b);i[c+4>>2]=g}vb(e,f,c);b=i[c>>2];if(b){i[c+4>>2]=b;qn(b)}L=c+16|0;return a}Vm();x()}function Mf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=i[a+8>>2];c=i[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(!b){i[a+4>>2]=c;return}b=(b<<2)+c|0;while(1){i[c>>2]=0;c=c+4|0;if((b|0)!=(c|0)){continue}break}i[a+4>>2]=b;return}a:{g=i[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){f=f<<2;d=d-g|0;h=d>>1;d=d>>2>>>0<536870911?h>>>0>>0?e:h:1073741823;if(d){if(d>>>0>=1073741824){break a}j=Gm(d<<2)}e=f+j|0;f=e+(b<<2)|0;d=(d<<2)+j|0;b=e;while(1){i[b>>2]=0;b=b+4|0;if((f|0)!=(b|0)){continue}break}if((c|0)!=(g|0)){while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;e=e+ -4|0;i[e>>2]=b;if((c|0)!=(g|0)){continue}break}c=i[a>>2]}i[a>>2]=e;i[a+8>>2]=d;b=i[a+4>>2];i[a+4>>2]=f;if((b|0)!=(c|0)){while(1){b=b+ -4|0;a=i[b>>2];i[b>>2]=0;if(a){O[i[i[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}}if(c){qn(c)}return}Vm();x()}Da(12220);x()}function dc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=i[a+8>>2];c=i[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(!b){i[a+4>>2]=c;return}b=(b<<2)+c|0;while(1){i[c>>2]=0;c=c+4|0;if((b|0)!=(c|0)){continue}break}i[a+4>>2]=b;return}a:{g=i[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){f=f<<2;d=d-g|0;h=d>>1;d=d>>2>>>0<536870911?h>>>0>>0?e:h:1073741823;if(d){if(d>>>0>=1073741824){break a}j=Gm(d<<2)}e=f+j|0;f=e+(b<<2)|0;d=(d<<2)+j|0;b=e;while(1){i[b>>2]=0;b=b+4|0;if((f|0)!=(b|0)){continue}break}if((c|0)!=(g|0)){while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;e=e+ -4|0;i[e>>2]=b;if((c|0)!=(g|0)){continue}break}c=i[a>>2]}i[a>>2]=e;i[a+8>>2]=d;b=i[a+4>>2];i[a+4>>2]=f;if((b|0)!=(c|0)){while(1){b=b+ -4|0;a=i[b>>2];i[b>>2]=0;if(a){O[i[i[a>>2]+4>>2]](a)}if((b|0)!=(c|0)){continue}break}}if(c){qn(c)}return}Vm();x()}Da(2188);x()}function zi(a,b,c,d,e){var f=0,h=0,k=0,l=0,m=0,n=0,p=0,q=0;h=L-16|0;L=h;a:{b:{switch(c+ -1|0){case 0:f=Ai(a,b,d,e);break a;case 2:f=Bi(a,b,d,e);break a;case 4:f=Ci(a,b,d,e);break a;case 1:f=Di(a,b,d,e);break a;case 3:f=Ei(a,b,d,e);break a;case 5:f=Fi(a,b,d,e);break a;case 8:break b;default:break a}}l=g[b+24|0];m=l<<2;a=i[a+80>>2];if((o(m,a)|0)!=(d|0)){break a}c=i[b+28>>2];d=i[3527];i[h+8>>2]=i[3526];i[h+12>>2]=d;d=i[3525];i[h>>2]=i[3524];i[h+4>>2]=d;c:{if(!a){break c}d=0;p=(c|0)!=9;k=1;while(1){c=j[b+84|0]?f:i[i[b+68>>2]+(f<<2)>>2];d:{if(!p){k=i[b+48>>2];q=i[i[b>>2]>>2];n=i[b+40>>2];c=Jn(n,i[b+44>>2],c,0)+k|0;sn(h,q+c|0,n);break d}if(!bd(b,c,g[b+24|0],h)){break c}}if((l|0)>=1){sn((d<<2)+e|0,h,m);d=d+l|0}f=f+1|0;k=f>>>0>>0;if((a|0)!=(f|0)){continue}break}}f=k^1}L=h+16|0;return f&1}function ta(a,b,c,d){var e=0,f=0,h=0,k=0,l=0,n=0,o=0,r=0,s=0,t=0,v=0,w=p(0),x=0,y=0,z=p(0),A=0,B=0,C=0,D=0;k=L-16|0;L=k;l=i[a+4>>2];n=i[d+48>>2];h=i[i[d>>2]>>2];f=g[b+24|0];e=Mh(k+8|0);Nh(e,m[a+20>>2],-1<>2];c=i[c+4>>2];if((o|0)!=(c|0)){x=n+h|0;c=c-o>>2;y=c>>>0>1?c:1;z=m[e>>2];A=i[b>>2];l=i[b+48>>2];B=i[b+68>>2];n=i[b+44>>2];h=i[b+40>>2];C=h;c=0;D=j[b+84|0];while(1){b=i[(r<<2)+o>>2];e=d;s=i[A>>2];t=h;v=n;if(!D){b=i[(b<<2)+B>>2]}b=Jn(t,v,b,0)+l|0;t=sn(e,b+s|0,C);if((f|0)>=1){v=i[a+8>>2];b=0;while(1){s=(c<<2)+x|0;e=b<<2;w=p(u(p(p(z*p(m[e+t>>2]-m[e+v>>2]))+p(.5))));a:{if(p(q(w))>2]=e;c=c+1|0;b=b+1|0;if((f|0)!=(b|0)){continue}break}}r=r+1|0;if((y|0)!=(r|0)){continue}break}}qn(d);L=k+16|0}function Fb(a,b,c){var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;d=L-32|0;L=d;i[d+24>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;k=i[b+12>>2];f=k;h=i[b+20>>2];l=h;m=i[b+16>>2];e=m+4|0;if(e>>>0<4){h=h+1|0}o=i[b+8>>2];n=e;a:{if((f|0)<(h|0)?1:(f|0)<=(h|0)?o>>>0>>0:0){break a}f=i[b>>2];e=m+f|0;e=j[e|0]|j[e+1|0]<<8|(j[e+2|0]<<16|j[e+3|0]<<24);i[b+16>>2]=n;i[b+20>>2]=h;b:{c:{switch(e+ -2|0){case 1:if((k|0)<(h|0)?1:(k|0)<=(h|0)?o>>>0<=n>>>0:0){break a}f=g[f+n|0];e=m+5|0;if(e>>>0<5){l=l+1|0}i[b+16>>2]=e;i[b+20>>2]=l;i[a+8>>2]=f;if((f|0)==1){if(zl(a,b,d+16|0)){break b}break a}xn(1824,23,i[3876]);break a;default:xn(1848,24,i[3876]);break a;case 0:break c}}if(!zl(a,b,d+16|0)){break a}}i[d+8>>2]=i[d+16>>2];i[d>>2]=i[d+20>>2];Hb(d+8|0,d,a,c);p=1}a=i[d+16>>2];if(a){i[d+20>>2]=a;qn(a)}L=d+32|0;return p}function Fi(a,b,c,d){var e=0,f=0,h=0,k=0,l=0,m=0,n=0,p=0;f=L-16|0;L=f;a:{l=i[a+80>>2];h=g[b+24|0];k=h<<2;e=0;b:{if((o(l,k)|0)!=(c|0)){break b}p=i[b+28>>2]!=6;if(!(p|!j[b+84|0])){sn(d,i[i[b>>2]>>2]+i[b+48>>2]|0,c);e=1;break b}i[f+8>>2]=0;i[f>>2]=0;i[f+4>>2]=0;a=0;if(h){if((h|0)<=-1){break a}a=Gm(k);i[f>>2]=a;c=h<<2;e=c+a|0;i[f+8>>2]=e;tn(a,0,c);i[f+4>>2]=e}c:{if(!l){break c}c=0;m=1;while(1){e=n;e=j[b+84|0]?e:i[i[b+68>>2]+(e<<2)>>2];d:{if(!p){m=i[i[b>>2]>>2];k=i[b+40>>2];e=i[b+48>>2]+Jn(k,i[b+44>>2],e,0)|0;sn(a,m+e|0,k);break d}if(!yi(b,e,g[b+24|0],a)){break c}}e=0;if((h|0)>=1){while(1){i[(c<<2)+d>>2]=i[(e<<2)+a>>2];c=c+1|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}n=n+1|0;m=n>>>0>>0;if((n|0)!=(l|0)){continue}break}}if(a){i[f+4>>2]=a;qn(a)}e=m^1}L=f+16|0;return e&1}Vm();x()}function Ei(a,b,c,d){var e=0,f=0,l=0,m=0,n=0,p=0,q=0,r=0;f=L-16|0;L=f;a:{n=i[a+80>>2];l=g[b+24|0];m=l<<1;e=0;b:{if((o(n,m)|0)!=(c|0)){break b}r=i[b+28>>2]!=4;if(!(r|!j[b+84|0])){sn(d,i[i[b>>2]>>2]+i[b+48>>2]|0,c);e=1;break b}i[f+8>>2]=0;i[f>>2]=0;i[f+4>>2]=0;a=0;if(l){if((l|0)<=-1){break a}a=Gm(m);i[f>>2]=a;c=l<<1;e=c+a|0;i[f+8>>2]=e;tn(a,0,c);i[f+4>>2]=e}c:{if(!n){break c}c=0;p=1;while(1){e=q;e=j[b+84|0]?e:i[i[b+68>>2]+(e<<2)>>2];d:{if(!r){p=i[i[b>>2]>>2];m=i[b+40>>2];e=i[b+48>>2]+Jn(m,i[b+44>>2],e,0)|0;sn(a,p+e|0,m);break d}if(!ui(b,e,g[b+24|0],a)){break c}}e=0;if((l|0)>=1){while(1){h[(c<<1)+d>>1]=k[(e<<1)+a>>1];c=c+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}q=q+1|0;p=q>>>0>>0;if((q|0)!=(n|0)){continue}break}}if(a){i[f+4>>2]=a;qn(a)}e=p^1}L=f+16|0;return e&1}Vm();x()}function Ci(a,b,c,d){var e=0,f=0,h=0,k=0,l=0,m=0,n=0,p=0;f=L-16|0;L=f;a:{l=i[a+80>>2];h=g[b+24|0];k=h<<2;e=0;b:{if((o(l,k)|0)!=(c|0)){break b}p=i[b+28>>2]!=5;if(!(p|!j[b+84|0])){sn(d,i[i[b>>2]>>2]+i[b+48>>2]|0,c);e=1;break b}i[f+8>>2]=0;i[f>>2]=0;i[f+4>>2]=0;a=0;if(h){if((h|0)<=-1){break a}a=Gm(k);i[f>>2]=a;c=h<<2;e=c+a|0;i[f+8>>2]=e;tn(a,0,c);i[f+4>>2]=e}c:{if(!l){break c}c=0;m=1;while(1){e=n;e=j[b+84|0]?e:i[i[b+68>>2]+(e<<2)>>2];d:{if(!p){m=i[i[b>>2]>>2];k=i[b+40>>2];e=i[b+48>>2]+Jn(k,i[b+44>>2],e,0)|0;sn(a,m+e|0,k);break d}if(!wi(b,e,g[b+24|0],a)){break c}}e=0;if((h|0)>=1){while(1){i[(c<<2)+d>>2]=i[(e<<2)+a>>2];c=c+1|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}n=n+1|0;m=n>>>0>>0;if((n|0)!=(l|0)){continue}break}}if(a){i[f+4>>2]=a;qn(a)}e=m^1}L=f+16|0;return e&1}Vm();x()}function Bi(a,b,c,d){var e=0,f=0,l=0,m=0,n=0,p=0,q=0,r=0;f=L-16|0;L=f;a:{n=i[a+80>>2];l=g[b+24|0];m=l<<1;e=0;b:{if((o(n,m)|0)!=(c|0)){break b}r=i[b+28>>2]!=3;if(!(r|!j[b+84|0])){sn(d,i[i[b>>2]>>2]+i[b+48>>2]|0,c);e=1;break b}i[f+8>>2]=0;i[f>>2]=0;i[f+4>>2]=0;a=0;if(l){if((l|0)<=-1){break a}a=Gm(m);i[f>>2]=a;c=l<<1;e=c+a|0;i[f+8>>2]=e;tn(a,0,c);i[f+4>>2]=e}c:{if(!n){break c}c=0;p=1;while(1){e=q;e=j[b+84|0]?e:i[i[b+68>>2]+(e<<2)>>2];d:{if(!r){p=i[i[b>>2]>>2];m=i[b+40>>2];e=i[b+48>>2]+Jn(m,i[b+44>>2],e,0)|0;sn(a,p+e|0,m);break d}if(!si(b,e,g[b+24|0],a)){break c}}e=0;if((l|0)>=1){while(1){h[(c<<1)+d>>1]=k[(e<<1)+a>>1];c=c+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}q=q+1|0;p=q>>>0>>0;if((q|0)!=(n|0)){continue}break}}if(a){i[f+4>>2]=a;qn(a)}e=p^1}L=f+16|0;return e&1}Vm();x()}function tl(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=i[a+8>>2];c=i[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(!b){i[a+4>>2]=c;return}b=(b<<2)+c|0;while(1){i[c>>2]=0;c=c+4|0;if((b|0)!=(c|0)){continue}break}i[a+4>>2]=b;return}a:{g=i[a>>2];f=c-g>>2;e=f+b|0;if(e>>>0<1073741824){f=f<<2;d=d-g|0;h=d>>1;d=d>>2>>>0<536870911?h>>>0>>0?e:h:1073741823;if(d){if(d>>>0>=1073741824){break a}j=Gm(d<<2)}e=f+j|0;f=e+(b<<2)|0;d=(d<<2)+j|0;b=e;while(1){i[b>>2]=0;b=b+4|0;if((f|0)!=(b|0)){continue}break}if((c|0)!=(g|0)){while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;e=e+ -4|0;i[e>>2]=b;if((c|0)!=(g|0)){continue}break}c=i[a>>2]}i[a>>2]=e;i[a+8>>2]=d;b=i[a+4>>2];i[a+4>>2]=f;if((b|0)!=(c|0)){while(1){b=b+ -4|0;a=i[b>>2];i[b>>2]=0;if(a){Ua(a)}if((b|0)!=(c|0)){continue}break}}if(c){qn(c)}return}Vm();x()}Da(14808);x()}function ib(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=L-16|0;L=c;i[a+12>>2]=b;i[a+8>>2]=0;i[a>>2]=0;i[a+4>>2]=0;xe(a+16|0);xe(a+36|0);xe(a+56|0);xe(a+76|0);i[a+104>>2]=0;i[a+96>>2]=0;i[a+100>>2]=0;a:{if(b){if(b>>>0>=1073741824){break a}f=b<<2;d=Gm(f);i[a+96>>2]=d;e=d+f|0;i[a+104>>2]=e;tn(d,0,f);i[a+100>>2]=e}i[a+108>>2]=0;i[a+112>>2]=0;i[a+116>>2]=0;if(b){f=b<<2;d=Gm(f);i[a+108>>2]=d;e=d+f|0;i[a+116>>2]=e;tn(d,0,f);i[a+112>>2]=e}i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0;g=a+120|0;f=b<<5|1;if(b){d=b<<2;e=Gm(d);i[c>>2]=e;h=d+e|0;i[c+8>>2]=h;tn(e,0,d);i[c+4>>2]=h}vb(g,f,c);d=i[c>>2];if(d){i[c+4>>2]=d;qn(d)}i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0;e=a+132|0;if(b){b=b<<2;d=Gm(b);i[c>>2]=d;g=b+d|0;i[c+8>>2]=g;tn(d,0,b);i[c+4>>2]=g}vb(e,f,c);b=i[c>>2];if(b){i[c+4>>2]=b;qn(b)}L=c+16|0;return a}Vm();x()}function mb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=L-16|0;L=c;i[a+12>>2]=b;i[a+8>>2]=0;i[a>>2]=0;i[a+4>>2]=0;Be(a+16|0);xe(a+32|0);xe(a+52|0);xe(a+72|0);i[a+100>>2]=0;i[a+92>>2]=0;i[a+96>>2]=0;a:{if(b){if(b>>>0>=1073741824){break a}f=b<<2;d=Gm(f);i[a+92>>2]=d;e=d+f|0;i[a+100>>2]=e;tn(d,0,f);i[a+96>>2]=e}i[a+104>>2]=0;i[a+108>>2]=0;i[a+112>>2]=0;if(b){f=b<<2;d=Gm(f);i[a+104>>2]=d;e=d+f|0;i[a+112>>2]=e;tn(d,0,f);i[a+108>>2]=e}i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0;g=a+116|0;f=b<<5|1;if(b){d=b<<2;e=Gm(d);i[c>>2]=e;h=d+e|0;i[c+8>>2]=h;tn(e,0,d);i[c+4>>2]=h}vb(g,f,c);d=i[c>>2];if(d){i[c+4>>2]=d;qn(d)}i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0;e=a+128|0;if(b){b=b<<2;d=Gm(b);i[c>>2]=d;g=b+d|0;i[c+8>>2]=g;tn(d,0,b);i[c+4>>2]=g}vb(e,f,c);b=i[c>>2];if(b){i[c+4>>2]=b;qn(b)}L=c+16|0;return a}Vm();x()}function Tc(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0;f=L-32|0;L=f;h=i[c+4>>2];d=i[b+4>>2];j=i[c>>2];g=i[b>>2];b=(h-d|0)+(j-g<<3)|0;c=i[a+4>>2];e=b+c|0;i[a+4>>2]=e;a:{if(!(!c|(e+ -1^c+ -1)>>>0>31)){a=i[a>>2];break a}a=i[a>>2];if(e>>>0<=32){i[a>>2]=0;break a}i[(e+ -1>>>3&536870908)+a>>2]=0}a=(c>>>3&536870908)+a|0;c=c&31;b:{if((c|0)==(d|0)){c:{if((b|0)<1){break c}d:{if(!d){c=0;break d}e=32-d|0;c=(b|0)<(e|0)?b:e;e=-1<>>e-c;i[a>>2]=i[a>>2]&(e^-1)|e&i[g>>2];b=b-c|0;d=c+d|0;c=d&31;a=(d>>>3&536870908)+a|0;g=g+4|0}d=(b|0)/32|0;e=d<<2;a=un(a,g,e)+e|0;d=b-(d<<5)|0;if((d|0)<1){d=c;break c}b=-1>>>32-d|0;i[a>>2]=i[a>>2]&(b^-1)|b&i[e+g>>2]}i[f+4>>2]=d;i[f>>2]=a;break b}i[f+28>>2]=d;i[f+24>>2]=g;i[f+20>>2]=h;i[f+16>>2]=j;i[f+12>>2]=c;i[f+8>>2]=a;Uc(f,f+24|0,f+16|0,f+8|0)}L=f+32|0}function nb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0;e=i[b+12>>2];a:{f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){k=1;break a}i[a+8>>2]=0;if(!Ce(a+16|0,b)){break a}if(!ze(a+32|0,b)){break a}if(!ze(a+52|0,b)){break a}if(!ze(a+72|0,b)){break a}return yb(a,i[a+4>>2],c)}return k}function kb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0;e=i[b+12>>2];a:{f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){k=1;break a}i[a+8>>2]=0;if(!Ce(a+16|0,b)){break a}if(!ze(a+32|0,b)){break a}if(!ze(a+52|0,b)){break a}if(!ze(a+72|0,b)){break a}return xb(a,i[a+4>>2],c)}return k}function jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0;e=i[b+12>>2];a:{f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){k=1;break a}i[a+8>>2]=0;if(!ze(a+16|0,b)){break a}if(!ze(a+36|0,b)){break a}if(!ze(a+56|0,b)){break a}if(!ze(a+76|0,b)){break a}return wb(a,i[a+4>>2],c)}return k}function gb(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0;e=i[b+12>>2];a:{f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){k=1;break a}i[a+8>>2]=0;if(!ze(a+16|0,b)){break a}if(!ze(a+36|0,b)){break a}if(!ze(a+56|0,b)){break a}if(!ze(a+76|0,b)){break a}return ub(a,i[a+4>>2],c)}return k}function ze(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;i[a+16>>2]=0;c=i[a>>2];i[a+4>>2]=c;i[a+12>>2]=c;h=i[b+12>>2];c=h;e=i[b+20>>2];d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}k=i[b+8>>2];g=f;f=e;a:{if((c|0)<(e|0)?1:(c|0)<=(e|0)?k>>>0>>0:0){break a}c=d+i[b>>2]|0;e=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=g;i[b+20>>2]=f;if(!e|e&3){break a}d=k;c=e;l=d-g>>>0>>0;d=h-(f+(d>>>0>>0)|0)|0;if((d|0)<0?1:(d|0)<=0?l:0){break a}d=e>>>2|0;if(d){Ae(a,d);k=i[b+8>>2];h=i[b+12>>2];g=i[b+16>>2];f=i[b+20>>2]}d=c+g|0;if(d>>>0>>0){f=f+1|0}if((h|0)<(f|0)?1:(h|0)<=(f|0)?k>>>0>>0:0){break a}sn(i[a>>2],g+i[b>>2]|0,e);f=b;d=b;e=i[b+20>>2];b=c+i[b+16>>2]|0;if(b>>>0>>0){e=e+1|0}i[d+16>>2]=b;i[f+20>>2]=e;i[a+16>>2]=0;i[a+12>>2]=i[a>>2];m=1}return m}function fg(a){i[a>>2]=11520;tn(a+4|0,0,80);i[a+96>>2]=0;i[a+100>>2]=0;i[a+92>>2]=-1;i[a+84>>2]=-1;i[a+88>>2]=-1;i[a+104>>2]=0;i[a+108>>2]=0;i[a+112>>2]=0;i[a+116>>2]=0;i[a+120>>2]=0;i[a+124>>2]=0;i[a+128>>2]=0;i[a+132>>2]=0;i[a+136>>2]=0;i[a+140>>2]=0;i[a+144>>2]=0;i[a+148>>2]=0;i[a+156>>2]=0;i[a+160>>2]=0;i[a+152>>2]=1065353216;i[a+164>>2]=0;i[a+168>>2]=0;i[a+172>>2]=0;i[a+176>>2]=0;i[a+180>>2]=0;i[a+184>>2]=0;i[a+188>>2]=0;i[a+192>>2]=0;i[a+196>>2]=0;i[a+200>>2]=0;i[a+204>>2]=0;i[a+208>>2]=0;i[a+212>>2]=-1;i[a+216>>2]=0;i[a+220>>2]=0;i[a+224>>2]=0;Bh(a+232|0);Bh(a+272|0);Be(a+312|0);Bh(a+328|0);i[a+392>>2]=0;i[a+396>>2]=0;i[a+384>>2]=0;i[a+388>>2]=0;i[a+376>>2]=0;i[a+380>>2]=0;i[a+368>>2]=0;i[a+372>>2]=0;Be(a+400|0);i[a+416>>2]=-1;i[a+420>>2]=-1}function Di(a,b,c,d){var e=0,f=0,h=0,k=0,l=0,m=0,n=0,p=0;e=L-16|0;L=e;a:{m=i[a+80>>2];h=g[b+24|0];k=0;b:{if((o(m,h)|0)!=(c|0)){break b}k=i[b+28>>2]!=2;if(!(k|!j[b+84|0])){sn(d,i[i[b>>2]>>2]+i[b+48>>2]|0,c);k=1;break b}i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;if(h){if((h|0)<=-1){break a}f=Gm(h);i[e>>2]=f;a=f+h|0;i[e+8>>2]=a;tn(f,0,h);i[e+4>>2]=a}c:{if(!m){break c}c=0;l=1;while(1){a=n;a=j[b+84|0]?a:i[i[b+68>>2]+(a<<2)>>2];d:{if(!k){p=i[i[b>>2]>>2];l=i[b+40>>2];a=i[b+48>>2]+Jn(l,i[b+44>>2],a,0)|0;sn(f,p+a|0,l);break d}if(!pi(b,a,g[b+24|0],f)){break c}}a=0;if((h|0)>=1){while(1){g[c+d|0]=j[a+f|0];c=c+1|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}n=n+1|0;l=n>>>0>>0;if((n|0)!=(m|0)){continue}break}}if(f){i[e+4>>2]=f;qn(f)}k=l^1}L=e+16|0;return k&1}Vm();x()}function Ai(a,b,c,d){var e=0,f=0,h=0,k=0,l=0,m=0,n=0,p=0;e=L-16|0;L=e;a:{m=i[a+80>>2];h=g[b+24|0];k=0;b:{if((o(m,h)|0)!=(c|0)){break b}k=i[b+28>>2]!=1;if(!(k|!j[b+84|0])){sn(d,i[i[b>>2]>>2]+i[b+48>>2]|0,c);k=1;break b}i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;if(h){if((h|0)<=-1){break a}f=Gm(h);i[e>>2]=f;a=f+h|0;i[e+8>>2]=a;tn(f,0,h);i[e+4>>2]=a}c:{if(!m){break c}c=0;l=1;while(1){a=n;a=j[b+84|0]?a:i[i[b+68>>2]+(a<<2)>>2];d:{if(!k){p=i[i[b>>2]>>2];l=i[b+40>>2];a=i[b+48>>2]+Jn(l,i[b+44>>2],a,0)|0;sn(f,p+a|0,l);break d}if(!ni(b,a,g[b+24|0],f)){break c}}a=0;if((h|0)>=1){while(1){g[c+d|0]=j[a+f|0];c=c+1|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}n=n+1|0;l=n>>>0>>0;if((n|0)!=(m|0)){continue}break}}if(f){i[e+4>>2]=f;qn(f)}k=l^1}L=e+16|0;return k&1}Vm();x()}function Ld(a){var b=0,c=0,d=0;b=i[a+8>>2];d=i[a>>2];a:{if(j[a+12|0]){b:{c:{d:{e:{if((b|0)==-1){break e}c=b+1|0;b=(c>>>0)%3|0?c:b+ -2|0;if((b|0)==-1){break e}b=i[i[d+12>>2]+(b<<2)>>2];if((b|0)!=-1){break d}}i[a+8>>2]=-1;break c}c=b+1|0;b=(c>>>0)%3|0?c:b+ -2|0;i[a+8>>2]=b;if((b|0)!=-1){break b}}c=i[a+4>>2];b=-1;f:{if((c|0)==-1){break f}c=c+((c>>>0)%3|0?-1:2)|0;b=-1;if((c|0)==-1){break f}c=i[i[d+12>>2]+(c<<2)>>2];b=-1;if((c|0)==-1){break f}b=c+ -1|0;if((c>>>0)%3|0){break f}b=c+2|0}g[a+12|0]=0;i[a+8>>2]=b;return}if((b|0)!=i[a+4>>2]){break a}i[a+8>>2]=-1;return}c=-1;g:{if((b|0)==-1){break g}b=b+((b>>>0)%3|0?-1:2)|0;c=-1;if((b|0)==-1){break g}b=i[i[d+12>>2]+(b<<2)>>2];c=-1;if((b|0)==-1){break g}c=b+ -1|0;if((b>>>0)%3|0){break g}c=b+2|0}i[a+8>>2]=c}}function dg(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0;f=i[a+8>>2];d=i[a+4>>2];if((f-d|0)/12>>>0>=b>>>0){if(!b){i[a+4>>2]=d;return}b=o(b,12)+d|0;while(1){g=i[c+4>>2];i[d>>2]=i[c>>2];i[d+4>>2]=g;i[d+8>>2]=i[c+8>>2];d=d+12|0;if((b|0)!=(d|0)){continue}break}i[a+4>>2]=b;return}a:{g=i[a>>2];h=d-g|0;d=(h|0)/12|0;e=d+b|0;if(e>>>0<357913942){j=o(b,12);k=o(d,12);f=(f-g|0)/12|0;b=f<<1;e=f>>>0<178956970?b>>>0>>0?e:b:357913941;d=0;b:{if(!e){break b}if(e>>>0>=357913942){break a}d=Gm(o(e,12))}b=k+d|0;f=j+b|0;e=d+o(e,12)|0;d=b;while(1){j=i[c+4>>2];i[d>>2]=i[c>>2];i[d+4>>2]=j;i[d+8>>2]=i[c+8>>2];d=d+12|0;if((f|0)!=(d|0)){continue}break}b=b+o((h|0)/-12|0,12)|0;if((h|0)>=1){sn(b,g,h)}i[a+8>>2]=e;i[a+4>>2]=f;i[a>>2]=b;if(g){qn(g)}return}Vm();x()}Da(12220);x()}function un(a,b,c){var d=0;a:{if((a|0)==(b|0)){break a}if((b-a|0)-c>>>0<=0-(c<<1)>>>0){return sn(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}g[d|0]=j[b|0];b=b+1|0;c=c+ -1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(a+c&3){while(1){if(!c){break a}c=c+ -1|0;d=c+a|0;g[d|0]=j[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c+ -4|0;i[c+a>>2]=i[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c+ -1|0;g[c+a|0]=j[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){i[d>>2]=i[b>>2];b=b+4|0;d=d+4|0;c=c+ -4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){g[d|0]=j[b|0];d=d+1|0;b=b+1|0;c=c+ -1|0;if(c){continue}break}}return a}function pg(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=i[a+172>>2];if((b|0)!=-1){c=i[a+196>>2]+(b<<2)|0;d=i[c>>2];b=d+ -1|0;i[c>>2]=b;if((d|0)<1){return 9}c=a;a=i[(i[i[i[a+184>>2]+o(i[a+172>>2],12)>>2]+(b<<2)>>2]<<2)+12288>>2];i[c+168>>2]=a;return a}b=7;c=i[a+144>>2];c=k[(O[i[i[c>>2]+32>>2]](c)|0)+36>>1];a:{if((c<<24|c<<8&16711680)>>>16>>>0>513){break a}if(!j[a+76|0]){i[a+168>>2]=1;return 1}b=0;f=i[a- -64>>2];d=i[a+72>>2];c=f+(d>>>3|0)|0;g=i[a+68>>2];if(c>>>0>=g>>>0){break a}e=j[c|0];c=d+1|0;i[a+72>>2]=c;if(!(e>>>(d&7)&1)){break a}e=c>>>3|0;b=f+e|0;b:{if(b>>>0>=g>>>0){b=c;c=0;break b}h=j[b|0];b=d+2|0;i[a+72>>2]=b;e=b>>>3|0;c=h>>>(c&7)&1}d=e+f|0;if(d>>>0>>0){d=j[d|0];i[a+72>>2]=b+1;b=d>>>(b&7)<<1&2}else{b=0}b=(c|b)<<1|1}i[a+168>>2]=b;return b}function Uh(a,b,c){var d=0,e=0,f=0,h=0,j=0;a:{if(i[a+12>>2]==(b|0)){break a}d=i[a>>2];e=i[a+4>>2];if((d|0)!=(e|0)){while(1){f=e+ -12|0;if(g[e+ -1|0]<=-1){qn(i[f>>2])}e=f;if((e|0)!=(d|0)){continue}break}}i[a+12>>2]=b;i[a+4>>2]=d;e=i[b>>2];f=b+4|0;if((e|0)==(f|0)){break a}while(1){b=e+16|0;b:{if(i[a+8>>2]!=(d|0)){h=a,j=Jm(d,b)+12|0,i[h+4>>2]=j;break b}Vh(a,b)}d=i[e+4>>2];c:{if(!d){b=i[e+8>>2];if(i[b>>2]==(e|0)){break c}e=e+8|0;while(1){d=i[e>>2];e=d+8|0;b=i[d+8>>2];if((d|0)!=i[b>>2]){continue}break}break c}while(1){b=d;d=i[d>>2];if(d){continue}break}}if((b|0)==(f|0)){break a}d=i[a+4>>2];e=b;continue}}d=0;d:{if((c|0)<0){break d}b=i[a+4>>2];a=i[a>>2];if((b-a|0)/12>>>0<=c>>>0){break d}d=a+o(c,12)|0;if(g[d+11|0]>-1){break d}d=i[d>>2]}return d}function Dl(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{e=i[b+12>>2];f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){break a}i[a+8>>2]=0;if(!Ce(a+16|0,b)){break a}if(!ze(a+32|0,b)){break a}if(!ze(a+52|0,b)){break a}if(!ze(a+72|0,b)){break a}Kl(a,i[a+4>>2],c)}}function Cl(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{e=i[b+12>>2];f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){break a}i[a+8>>2]=0;if(!Ce(a+16|0,b)){break a}if(!ze(a+32|0,b)){break a}if(!ze(a+52|0,b)){break a}if(!ze(a+72|0,b)){break a}Jl(a,i[a+4>>2],c)}}function Bl(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{e=i[b+12>>2];f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){break a}i[a+8>>2]=0;if(!ze(a+16|0,b)){break a}if(!ze(a+36|0,b)){break a}if(!ze(a+56|0,b)){break a}if(!ze(a+76|0,b)){break a}Il(a,i[a+4>>2],c)}}function Al(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{e=i[b+12>>2];f=i[b+20>>2];g=i[b+16>>2];d=g+4|0;if(d>>>0<4){f=f+1|0}if((e|0)<(f|0)?1:(e|0)<=(f|0)?l[b+8>>2]>>0:0){break a}d=g+i[b>>2]|0;h=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a>>2]=h;e=i[b+20>>2];g=e;d=i[b+16>>2];f=d+4|0;if(f>>>0<4){e=e+1|0}i[b+16>>2]=f;i[b+20>>2]=e;if(h>>>0>32){break a}e=i[b+12>>2];d=d+8|0;if(d>>>0<8){g=g+1|0}if((e|0)<(g|0)?1:(e|0)<=(g|0)?l[b+8>>2]>>0:0){break a}d=f+i[b>>2]|0;e=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);i[a+4>>2]=e;f=i[b+20>>2];g=i[b+16>>2]+4|0;if(g>>>0<4){f=f+1|0}i[b+16>>2]=g;i[b+20>>2]=f;if(!e){break a}i[a+8>>2]=0;if(!ze(a+16|0,b)){break a}if(!ze(a+36|0,b)){break a}if(!ze(a+56|0,b)){break a}if(!ze(a+76|0,b)){break a}Hl(a,i[a+4>>2],c)}}function al(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;d=L-16|0;L=d;g=i[a+24>>2];n=i[a+28>>2];a:{if((g|0)!=(n|0)){p=d+8|0;while(1){i[p>>2]=0;i[d>>2]=0;i[d+4>>2]=0;e=il(i[g>>2],b,d);a=j[d+11|0];l=a<<24>>24;m=3;b:{c:{d:{if(!e){break d}m=0;e=j[c+11|0];f=e<<24>>24;k=(l|0)<0?i[d+4>>2]:a;if((k|0)!=(((f|0)<0?i[c+4>>2]:e)|0)){break d}h=(f|0)<0?i[c>>2]:c;f=i[d>>2];e=(l|0)<0;e:{if(!e){if(!k){break e}e=d;if(j[h|0]!=(f&255)){break d}while(1){a=a+ -1|0;if(!a){break e}f=j[h+1|0];h=h+1|0;e=e+1|0;if((f|0)==j[e|0]){continue}break}break d}if(!k){break e}if(Pl(e?f:d,h,k)){break c}}o=i[g>>2];m=1}if((l|0)>-1){break b}}qn(i[d>>2])}f:{switch(m|0){case 0:case 3:break f;default:break a}}g=g+4|0;if((n|0)!=(g|0)){continue}break}}o=0}L=d+16|0;return o}function Hc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;d=i[b+12>>2];k=d;c=i[b+20>>2];f=c;g=i[b+16>>2];e=g+4|0;if(e>>>0<4){c=c+1|0}l=i[b+8>>2];h=e;e=c;a:{if((d|0)<(c|0)?1:(d|0)<=(c|0)?l>>>0>>0:0){break a}m=i[b>>2];c=m+g|0;d=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=h;i[b+20>>2]=e;c=f;f=g+8|0;if(f>>>0<8){c=c+1|0}e=f;f=c;if((k|0)<(c|0)?1:(k|0)<=(c|0)?l>>>0>>0:0){break a}c=h+m|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=e;i[b+20>>2]=f;if((d|0)>(c|0)){break a}i[a+16>>2]=c;i[a+12>>2]=d;b=d;d=(c>>31)-((c>>>0>>0)+(b>>31)|0)|0;b=c-b|0;if(!d&b>>>0>2147483646|d>>>0>0){break a}n=1;b=b+1|0;i[a+20>>2]=b;c=(b|0)/2|0;i[a+24>>2]=c;i[a+28>>2]=0-c;if(b&1){break a}i[a+24>>2]=c+ -1}return n|0}function em(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=L-32|0;L=d;e=i[a+28>>2];i[d+16>>2]=e;f=i[a+20>>2];i[d+28>>2]=c;i[d+24>>2]=b;b=f-e|0;i[d+20>>2]=b;e=b+c|0;k=2;b=d+16|0;a:{b:{c:{if(!gm(D(i[a+60>>2],d+16|0,2,d+12|0)|0)){while(1){f=i[d+12>>2];if((f|0)==(e|0)){break c}if((f|0)<=-1){break b}g=i[b+4>>2];h=f>>>0>g>>>0;j=(h<<3)+b|0;g=f-(h?g:0)|0;i[j>>2]=g+i[j>>2];j=(h?12:4)+b|0;i[j>>2]=i[j>>2]-g;e=e-f|0;b=h?b+8|0:b;k=k-h|0;if(!gm(D(i[a+60>>2],b|0,k|0,d+12|0)|0)){continue}break}}i[d+12>>2]=-1;if((e|0)!=-1){break b}}b=i[a+44>>2];i[a+28>>2]=b;i[a+20>>2]=b;i[a+16>>2]=b+i[a+48>>2];a=c;break a}i[a+28>>2]=0;i[a+16>>2]=0;i[a+20>>2]=0;i[a>>2]=i[a>>2]|32;a=0;if((k|0)==2){break a}a=c-i[b+4>>2]|0}L=d+32|0;return a|0}function sa(a,b,c,d){var e=0,f=0,h=0,k=0,l=0,n=0,o=0,r=0,s=0,t=0,v=0,w=p(0),x=0,y=p(0),z=0,A=0,B=0,C=0,D=0;n=L-16|0;L=n;h=i[a+4>>2];o=i[d+48>>2];d=i[i[d>>2]>>2];f=g[b+24|0];k=Mh(n+8|0);Nh(k,m[a+20>>2],-1<>2];z=i[b>>2];o=i[b+48>>2];A=i[b+68>>2];k=i[b+44>>2];v=i[b+40>>2];B=v;d=0;C=j[b+84|0];D=(f|0)<1;while(1){b=l;e=h;r=i[z>>2];s=v;t=k;if(!C){b=i[(l<<2)+A>>2]}b=Jn(s,t,b,0)+o|0;s=sn(e,b+r|0,B);if(!D){t=i[a+8>>2];b=0;while(1){r=(d<<2)+x|0;e=b<<2;w=p(u(p(p(y*p(m[e+s>>2]-m[e+t>>2]))+p(.5))));a:{if(p(q(w))>2]=e;d=d+1|0;b=b+1|0;if((f|0)!=(b|0)){continue}break}}l=l+1|0;if((l|0)!=(c|0)){continue}break}}qn(h);L=n+16|0}function tn(a,b,c){var d=0,e=0,f=0,h=0;a:{if(!c){break a}d=a+c|0;g[d+ -1|0]=b;g[a|0]=b;if(c>>>0<3){break a}g[d+ -2|0]=b;g[a+1|0]=b;g[d+ -3|0]=b;g[a+2|0]=b;if(c>>>0<7){break a}g[d+ -4|0]=b;g[a+3|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=o(b&255,16843009);i[e>>2]=b;c=c-d&-4;d=c+e|0;i[d+ -4>>2]=b;if(c>>>0<9){break a}i[e+8>>2]=b;i[e+4>>2]=b;i[d+ -8>>2]=b;i[d+ -12>>2]=b;if(c>>>0<25){break a}i[e+24>>2]=b;i[e+20>>2]=b;i[e+16>>2]=b;i[e+12>>2]=b;i[d+ -16>>2]=b;i[d+ -20>>2]=b;i[d+ -24>>2]=b;i[d+ -28>>2]=b;h=e&4|24;c=c-h|0;if(c>>>0<32){break a}d=b;f=b;b=e+h|0;while(1){i[b+24>>2]=f;i[b+28>>2]=d;i[b+16>>2]=f;i[b+20>>2]=d;i[b+8>>2]=f;i[b+12>>2]=d;i[b>>2]=f;i[b+4>>2]=d;b=b+32|0;c=c+ -32|0;if(c>>>0>31){continue}break}}return a}function Jk(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=i[a+8>>2];d=i[a>>2];if(e-d>>2>>>0>=b>>>0){f=i[a+4>>2];g=f-d>>2;h=g>>>0>>0?g:b;if(h){e=d;while(1){i[e>>2]=i[c>>2];e=e+4|0;h=h+ -1|0;if(h){continue}break}}if(g>>>0>>0){b=b-g|0;if(!b){i[a+4>>2]=f;return}b=(b<<2)+f|0;while(1){i[f>>2]=i[c>>2];f=f+4|0;if((b|0)!=(f|0)){continue}break}i[a+4>>2]=b;return}i[a+4>>2]=(b<<2)+d;return}if(d){i[a+4>>2]=d;qn(d);i[a+8>>2]=0;i[a>>2]=0;i[a+4>>2]=0;e=0}a:{if(b>>>0>=1073741824){break a}d=e>>1;d=e>>2>>>0<536870911?d>>>0>>0?b:d:1073741823;if(d>>>0>=1073741824){break a}d=d<<2;e=Gm(d);i[a>>2]=e;i[a+4>>2]=e;i[a+8>>2]=e+d;d=(b<<2)+e|0;b=i[c>>2];while(1){i[e>>2]=b;e=e+4|0;if((d|0)!=(e|0)){continue}break}i[a+4>>2]=d;return}Vm();x()}function Yg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=i[a+4>>2];d=i[b>>2];a:{c=i[a+12>>2];e=i[c+56>>2]-i[c+52>>2]|0;c=e>>2;b:{if(i[b+8>>2]-d>>2>>>0>=c>>>0){break b}if(c>>>0>=1073741824){break a}f=i[b+4>>2];g=c<<2;c=Gm(e);g=g+c|0;e=f-d|0;f=e+c|0;if((e|0)>=1){sn(c,d,e)}i[b+8>>2]=g;i[b+4>>2]=f;i[b>>2]=c;if(!d){break b}qn(d)}e=a+8|0;b=i[a+76>>2];c:{if(b){d=1;c=i[b>>2];if((c|0)==i[b+4>>2]){break c}b=0;while(1){d=Zg(e,i[(b<<2)+c>>2]);if(!d){break c}f=i[a+76>>2];c=i[f>>2];b=b+1|0;if(b>>>0>2]-c>>2>>>0){continue}break}break c}d=1;a=i[i[a+12>>2]+64>>2];a=(i[a+4>>2]-i[a>>2]>>2>>>0)/3|0;if(a>>>0<1){break c}b=0;while(1){d=Zg(e,o(b,3));b=b+1|0;if((a|0)==(b|0)){break c}if(d){continue}break}}return d|0}Da(12220);x()}function Xk(a,b){var c=0,d=0,e=0,f=0,g=0;d=-1;f=-1;e=-1;a:{b:{if((b|0)==-1){break b}g=1;f=i[i[i[a+4>>2]+12>>2]+(b<<2)>>2];c=b+1|0;c=(c>>>0)%3|0?c:b+ -2|0;if((c|0)>=0){e=(c>>>0)/3|0;e=i[(i[i[a>>2]+96>>2]+o(e,12)|0)+(c-o(e,3)<<2)>>2]}c:{if((f|0)==-1){break c}g=0;c=((f>>>0)%3|0?-1:2)+f|0;if((c|0)<0){break c}d=(c>>>0)/3|0;d=i[(i[i[a>>2]+96>>2]+o(d,12)|0)+(c-o(d,3)<<2)>>2]}c=-1;if((d|0)!=(e|0)){break a}e=-1;d:{b=((b>>>0)%3|0?-1:2)+b|0;if((b|0)>=0){d=(b>>>0)/3|0;d=i[(i[i[a>>2]+96>>2]+o(d,12)|0)+(b-o(d,3)<<2)>>2];if(g){break b}break d}d=-1;if(!g){break d}break b}b=f+1|0;b=(b>>>0)%3|0?b:f+ -2|0;if((b|0)<0){break b}c=i[i[a>>2]+96>>2];a=(b>>>0)/3|0;e=i[(c+o(a,12)|0)+(b-o(a,3)<<2)>>2]}c=(d|0)==(e|0)?f:-1}return c}function Kb(a,b,c){var d=0,e=0,f=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=L-16|0;L=f;d=g[b+24|0];i[f+8>>2]=0;i[f>>2]=0;i[f+4>>2]=0;a:{b:{if(d){if((d|0)<=-1){break b}e=d<<1;m=Gm(e);i[f>>2]=m;n=e+m|0;i[f+8>>2]=n;tn(m,0,e);i[f+4>>2]=n;p=Gm(e);tn(p,0,e)}if(!i[b+80>>2]){break a}while(1){v=i[b>>2];q=i[v>>2];t=i[b+48>>2];e=i[b+40>>2];n=Jn(e,i[b+44>>2],u,r);s=q;q=n+t|0;n=sn(m,s+q|0,e);if(d<<24>>24>=1){d=d&255;q=d>>>0>1?d:1;t=i[a+48>>2];d=0;while(1){s=d<<1;h[s+p>>1]=k[n+s>>1]+k[(c+d<<2)+t>>1];d=d+1|0;if((q|0)!=(d|0)){continue}break}}sn(i[v>>2]+o(e,u)|0,p,e);e=u+1|0;if(e>>>0<1){r=r+1|0}u=e;if(!r&e>>>0>=l[b+80>>2]|r>>>0>0){break a}d=j[b+24|0];continue}}Vm();x()}if(p){qn(p)}if(m){i[f+4>>2]=m;qn(m)}L=f+16|0;return 1}function Jb(a,b,c){var d=0,e=0,f=0,h=0,k=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;f=L-16|0;L=f;d=g[b+24|0];i[f+8>>2]=0;i[f>>2]=0;i[f+4>>2]=0;a:{b:{if(d){if((d|0)<=-1){break b}e=d<<2;h=Gm(e);i[f>>2]=h;k=e+h|0;i[f+8>>2]=k;tn(h,0,e);i[f+4>>2]=k;m=Gm(e);tn(m,0,e)}if(!i[b+80>>2]){break a}while(1){t=i[b>>2];n=i[t>>2];r=i[b+48>>2];e=i[b+40>>2];k=Jn(e,i[b+44>>2],s,p);q=n;n=k+r|0;k=sn(h,q+n|0,e);if(d<<24>>24>=1){d=d&255;n=d>>>0>1?d:1;r=i[a+48>>2];d=0;while(1){q=d<<2;i[q+m>>2]=i[(c+d<<2)+r>>2]+i[k+q>>2];d=d+1|0;if((n|0)!=(d|0)){continue}break}}sn(i[t>>2]+o(e,s)|0,m,e);e=s+1|0;if(e>>>0<1){p=p+1|0}s=e;if(!p&e>>>0>=l[b+80>>2]|p>>>0>0){break a}d=j[b+24|0];continue}}Vm();x()}if(m){qn(m)}if(h){i[f+4>>2]=h;qn(h)}L=f+16|0;return 1}function Vh(a,b){var c=0,d=0,e=0,f=0,h=0;a:{b:{c:{e=i[a>>2];h=(i[a+4>>2]-e|0)/12|0;c=h+1|0;if(c>>>0<357913942){e=(i[a+8>>2]-e|0)/12|0;f=e<<1;c=e>>>0<178956970?f>>>0>>0?c:f:357913941;d=0;d:{if(!c){break d}if(c>>>0>=357913942){break c}d=Gm(o(c,12))}e=d+o(c,12)|0;b=Jm(d+o(h,12)|0,b);h=b+12|0;c=i[a+4>>2];d=i[a>>2];if((c|0)==(d|0)){break b}while(1){c=c+ -12|0;f=i[c+4>>2];b=b+ -12|0;i[b>>2]=i[c>>2];i[b+4>>2]=f;f=c+8|0;i[b+8>>2]=i[f>>2];i[c>>2]=0;i[c+4>>2]=0;i[f>>2]=0;if((c|0)!=(d|0)){continue}break}d=i[a+4>>2];c=i[a>>2];break a}Vm();x()}Da(14112);x()}c=d}i[a+8>>2]=e;i[a+4>>2]=h;i[a>>2]=b;if((c|0)!=(d|0)){while(1){a=d+ -12|0;if(g[d+ -1|0]<=-1){qn(i[a>>2])}d=a;if((a|0)!=(c|0)){continue}break}}if(c){qn(c)}}function Sg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=i[a+4>>2];d=i[b>>2];a:{c=i[a+12>>2];e=i[c+28>>2]-i[c+24>>2]|0;c=e>>2;b:{if(i[b+8>>2]-d>>2>>>0>=c>>>0){break b}if(c>>>0>=1073741824){break a}f=i[b+4>>2];g=c<<2;c=Gm(e);g=g+c|0;e=f-d|0;f=e+c|0;if((e|0)>=1){sn(c,d,e)}i[b+8>>2]=g;i[b+4>>2]=f;i[b>>2]=c;if(!d){break b}qn(d)}e=a+8|0;b=i[a+76>>2];c:{if(b){d=1;c=i[b>>2];if((c|0)==i[b+4>>2]){break c}b=0;while(1){d=Tg(e,i[(b<<2)+c>>2]);if(!d){break c}f=i[a+76>>2];c=i[f>>2];b=b+1|0;if(b>>>0>2]-c>>2>>>0){continue}break}break c}d=1;a=i[a+12>>2];a=(i[a+4>>2]-i[a>>2]>>2>>>0)/3|0;if(a>>>0<1){break c}b=0;while(1){d=Tg(e,o(b,3));b=b+1|0;if((a|0)==(b|0)){break c}if(d){continue}break}}return d|0}Da(12220);x()}function _b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;d=i[b>>2];b=i[b+4>>2];n=i[i[a+8>>2]+40>>2];h=n;p=Gm((h|0)>-1?h:-1);g=1;k=b-d|0;a:{if((k|0)<1){break a}b=0;j=i[c+12>>2];g=0;e=0+i[c+20>>2]|0;m=i[c+16>>2];f=n;d=m+f|0;if(d>>>0>>0){e=e+1|0}f=d;d=e;if((j|0)<(d|0)?1:(j|0)<=(d|0)?l[c+8>>2]>>0:0){break a}g=k>>2;k=(g|0)>1?g:1;while(1){b:{e=sn(p,m+i[c>>2]|0,h);i[c+16>>2]=f;i[c+20>>2]=d;sn(i[i[i[a+8>>2]+64>>2]>>2]+b|0,e,h);o=o+1|0;if((k|0)==(o|0)){break b}b=b+h|0;j=i[c+12>>2];e=q+i[c+20>>2]|0;m=i[c+16>>2];d=n;f=m+d|0;if(f>>>0>>0){e=e+1|0}d=e;if((j|0)>(d|0)?1:(j|0)>=(d|0)?l[c+8>>2]>=f>>>0:0){continue}}break}g=(o|0)>=(g|0)}qn(p);return g|0}function Ol(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i[b>>2];g=i[b+8>>2];h=i[b+4>>2];j=i[b>>2];f=i[a>>2];b=i[f+4>>2];d=i[f+8>>2];if(b>>>0>>0){i[b+8>>2]=g;i[b+4>>2]=h;i[b>>2]=j;i[f+4>>2]=b+12;return}a:{a=i[f>>2];e=(b-a|0)/12|0;c=e+1|0;if(c>>>0<357913942){k=o(e,12);d=(d-a|0)/12|0;e=d<<1;d=d>>>0<178956970?e>>>0>>0?c:e:357913941;e=0;b:{if(!d){break b}if(d>>>0>=357913942){break a}e=Gm(o(d,12))}c=k+e|0;i[c+8>>2]=g;i[c+4>>2]=h;i[c>>2]=j;e=e+o(d,12)|0;d=c+12|0;if((a|0)!=(b|0)){while(1){c=c+ -12|0;b=b+ -12|0;i[c>>2]=i[b>>2];i[c+4>>2]=i[b+4>>2];i[c+8>>2]=i[b+8>>2];if((a|0)!=(b|0)){continue}break}b=a}i[f+8>>2]=e;i[f+4>>2]=d;i[f>>2]=c;if(b){qn(b)}return}Vm();x()}Da(14937);x()}function wf(a){a=a|0;var b=0,c=0,d=0,e=0;b=i[a+32>>2];d=i[b+16>>2];e=i[b+12>>2];c=i[b+20>>2];if((e|0)>(c|0)?1:(e|0)>=(c|0)?l[b+8>>2]>d>>>0:0){e=j[d+i[b>>2]|0];d=d+1|0;if(d>>>0<1){c=c+1|0}i[b+16>>2]=d;i[b+20>>2]=c;b=i[a+48>>2];i[a+48>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}a:{b:{c:{switch(e|0){case 0:c=Gm(384);Ef(c);b=i[a+48>>2];i[a+48>>2]=c;if(!b){break a}O[i[i[b>>2]+4>>2]](b);break b;case 1:c=Gm(424);fg(c);b=i[a+48>>2];i[a+48>>2]=c;if(!b){break a}O[i[i[b>>2]+4>>2]](b);break b;case 2:break c;default:break b}}c=Gm(440);kg(c);b=i[a+48>>2];i[a+48>>2]=c;if(!b){break a}O[i[i[b>>2]+4>>2]](b)}c=i[a+48>>2];if(c){break a}return 0}a=O[i[i[c>>2]+8>>2]](c,a)|0}else{a=0}return a|0}function cl(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=i[a>>2];f=i[a+4>>2]-e>>2;c=f+1|0;if(c>>>0<1073741824){e=i[a+8>>2]-e|0;g=e>>1;c=e>>2>>>0<536870911?g>>>0>>0?c:g:1073741823;if(c){if(c>>>0>=1073741824){break c}d=Gm(c<<2)}e=i[b>>2];i[b>>2]=0;b=(f<<2)+d|0;i[b>>2]=e;e=(c<<2)+d|0;f=b+4|0;c=i[a+4>>2];d=i[a>>2];if((c|0)==(d|0)){break b}while(1){c=c+ -4|0;g=i[c>>2];i[c>>2]=0;b=b+ -4|0;i[b>>2]=g;if((c|0)!=(d|0)){continue}break}d=i[a+4>>2];c=i[a>>2];break a}Vm();x()}Da(14684);x()}c=d}i[a+8>>2]=e;i[a+4>>2]=f;i[a>>2]=b;if((c|0)!=(d|0)){while(1){d=d+ -4|0;a=i[d>>2];i[d>>2]=0;if(a){sh(a+12|0,i[a+16>>2]);th(a,i[a+4>>2]);qn(a)}if((c|0)!=(d|0)){continue}break}}if(c){qn(c)}}function dh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=L-32|0;L=d;i[d+24>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;a:{f=o(b,3);if(f){if(f>>>0>=1073741824){break a}e=Gm(o(b,12));i[d+16>>2]=e;g=f<<2;c=g+e|0;i[d+24>>2]=c;tn(e,0,g);i[d+20>>2]=c}k=Se(f,1,i[a+32>>2],e);if(!(!k|!b)){g=0;f=0;c=0;while(1){l=d+8|0;i[l>>2]=0;i[d>>2]=0;i[d+4>>2]=0;h=c;e=(f<<2)+e|0;c=i[e>>2];j=c>>>1|0;c=h+(c&1?0-j|0:j)|0;i[d>>2]=c;h=c;c=i[e+4>>2];j=c>>>1|0;c=h+(c&1?0-j|0:j)|0;i[d+4>>2]=c;h=c;e=i[e+8>>2];c=e>>>1|0;c=h+(e&1?0-c|0:c)|0;i[l>>2]=c;eh(i[a+44>>2]+96|0,d);g=g+1|0;if((g|0)!=(b|0)){f=f+3|0;e=i[d+16>>2];continue}break}e=i[d+16>>2]}if(e){i[d+20>>2]=e;qn(e)}L=d+32|0;return k}Vm();x()}function Zl(a,b,c){a:{b:{if(b>>>0>20){break b}c:{switch(b+ -9|0){case 0:b=i[c>>2];i[c>>2]=b+4;i[a>>2]=i[b>>2];return;case 1:b=i[c>>2];i[c>>2]=b+4;b=i[b>>2];i[a>>2]=b;i[a+4>>2]=b>>31;return;case 2:b=i[c>>2];i[c>>2]=b+4;i[a>>2]=i[b>>2];i[a+4>>2]=0;return;case 4:b=i[c>>2];i[c>>2]=b+4;b=h[b>>1];i[a>>2]=b;i[a+4>>2]=b>>31;return;case 5:b=i[c>>2];i[c>>2]=b+4;i[a>>2]=k[b>>1];i[a+4>>2]=0;return;case 6:b=i[c>>2];i[c>>2]=b+4;b=g[b|0];i[a>>2]=b;i[a+4>>2]=b>>31;return;case 7:b=i[c>>2];i[c>>2]=b+4;i[a>>2]=j[b|0];i[a+4>>2]=0;return;case 3:case 8:break a;case 9:break c;default:break b}}O[0](a,c)}return}b=i[c>>2]+7&-8;i[c>>2]=b+8;c=i[b+4>>2];i[a>>2]=i[b>>2];i[a+4>>2]=c}function rc(a,b,c,d,e){var f=0,g=0,h=0,j=0;a:{b:{if((b|0)!=-2){g=i[i[i[d+4>>2]+8>>2]+(c<<2)>>2];if((O[i[i[d>>2]+8>>2]](d)|0)==1){f=b;b=k[d+36>>1];yc(a,d,f,c,e,(b<<24|b<<8&16711680)>>>16|0);if(i[a>>2]){break b}i[a>>2]=0}f=Gm(44);i[f+4>>2]=g;i[f>>2]=3088;b=i[e+8>>2];c=i[e+12>>2];d=i[e+16>>2];g=i[e+20>>2];h=i[e>>2];j=i[e+4>>2];i[f+40>>2]=0;i[f+32>>2]=0;i[f+36>>2]=0;i[f+24>>2]=d;i[f+28>>2]=g;i[f+16>>2]=b;i[f+20>>2]=c;i[f+8>>2]=h;i[f+12>>2]=j;b=i[e+28>>2];e=i[e+24>>2];d=b-e|0;if(d){c=d>>2;if(c>>>0>=1073741824){break a}b=Gm(d);i[f+32>>2]=b;i[f+36>>2]=b;i[f+40>>2]=b+(c<<2);c=f;if((d|0)>=1){b=sn(b,e,d)+d|0}i[c+36>>2]=b}i[f>>2]=6684}i[a>>2]=f}return}Vm();x()}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;f=L-16|0;L=f;g=Gm(64);c=Gm(12);i[c+8>>2]=i[i[a+4>>2]+80>>2];i[c>>2]=13428;i[c+4>>2]=0;i[f+8>>2]=c;bc(g,f+8|0);a:{if((b|0)>=0){h=a+8|0;c=i[a+12>>2];j=i[a+8>>2];d=c-j>>2;b:{if((d|0)>(b|0)){break b}e=b+1|0;if(d>>>0<=b>>>0){Mf(h,e-d|0);break b}if(e>>>0>=d>>>0){break b}e=j+(e<<2)|0;if((e|0)!=(c|0)){while(1){c=c+ -4|0;d=i[c>>2];i[c>>2]=0;if(d){O[i[i[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}i[a+12>>2]=e}c=i[h>>2]+(b<<2)|0;a=i[c>>2];i[c>>2]=g;if(!a){break a}O[i[i[a>>2]+4>>2]](a);break a}O[i[i[g>>2]+4>>2]](g)}a=i[f+8>>2];i[f+8>>2]=0;if(a){O[i[i[a>>2]+4>>2]](a)}L=f+16|0;return(b^-1)>>>31|0}function Lf(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=L-16|0;L=e;i[a+4>>2]=0;a:{b:{if(!b){break b}f=i[a+8>>2];d=f<<5;c:{if(d>>>0>=b>>>0){i[a+4>>2]=b;break c}i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;if((b|0)<=-1){break a}h=e;if(d>>>0<=1073741822){g=b+31&-32;d=f<<6;d=d>>>0>>0?g:d}else{d=2147483647}Sc(h,d);d=i[a>>2];i[a>>2]=i[e>>2];i[e>>2]=d;f=i[a+4>>2];i[a+4>>2]=b;i[e+4>>2]=f;f=i[a+8>>2];i[a+8>>2]=i[e+8>>2];i[e+8>>2]=f;if(!d){break c}qn(d)}d=b>>>5|0;f=d<<2;a=i[a>>2];if(j[c|0]){a=tn(a,255,f);b=b&31;if(!b){break b}a=a+(d<<2)|0;i[a>>2]=i[a>>2]|-1>>>32-b;break b}a=tn(a,0,f);b=b&31;if(!b){break b}a=a+(d<<2)|0;i[a>>2]=i[a>>2]&(-1>>>32-b^-1)}L=e+16|0;return}Vm();x()}function qa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0;i[b>>2]=1;f=b+8|0;c=i[b+8>>2];d=i[b+12>>2]-c|0;if(d>>>0<=4294967291){Ah(f,d+4|0);c=i[f>>2]}c=c+d|0;d=i[a+4>>2];g[c|0]=d;g[c+1|0]=d>>>8;g[c+2|0]=d>>>16;g[c+3|0]=d>>>24;c=i[a+8>>2];if((c|0)!=i[a+12>>2]){d=0;while(1){h=(d<<2)+c|0;c=i[b+8>>2];e=i[b+12>>2]-c|0;if(e>>>0<=4294967291){Ah(f,e+4|0);c=i[f>>2]}c=c+e|0;e=i[h>>2];g[c|0]=e;g[c+1|0]=e>>>8;g[c+2|0]=e>>>16;g[c+3|0]=e>>>24;d=d+1|0;c=i[a+8>>2];if(d>>>0>2]-c>>2>>>0){continue}break}}c=i[b+12>>2];b=i[b+8>>2];c=c-b|0;if(c>>>0<=4294967291){Ah(f,c+4|0);b=i[f>>2]}b=b+c|0;a=i[a+20>>2];g[b|0]=a;g[b+1|0]=a>>>8;g[b+2|0]=a>>>16;g[b+3|0]=a>>>24}function Ef(a){i[a>>2]=11468;tn(a+4|0,0,80);i[a+96>>2]=0;i[a+100>>2]=0;i[a+92>>2]=-1;i[a+84>>2]=-1;i[a+88>>2]=-1;i[a+104>>2]=0;i[a+108>>2]=0;i[a+112>>2]=0;i[a+116>>2]=0;i[a+120>>2]=0;i[a+124>>2]=0;i[a+128>>2]=0;i[a+132>>2]=0;i[a+136>>2]=0;i[a+140>>2]=0;i[a+144>>2]=0;i[a+148>>2]=0;i[a+156>>2]=0;i[a+160>>2]=0;i[a+152>>2]=1065353216;i[a+164>>2]=0;i[a+168>>2]=0;i[a+172>>2]=0;i[a+176>>2]=0;i[a+180>>2]=0;i[a+184>>2]=0;i[a+188>>2]=0;i[a+192>>2]=0;i[a+196>>2]=0;i[a+200>>2]=0;i[a+204>>2]=0;i[a+208>>2]=0;i[a+212>>2]=-1;i[a+216>>2]=0;i[a+220>>2]=0;i[a+224>>2]=0;Bh(a+232|0);Bh(a+272|0);Be(a+312|0);Bh(a+328|0);i[a+376>>2]=0;i[a+368>>2]=0;i[a+372>>2]=0}function fb(a,b){var c=0,d=0,e=0,f=0,g=0;i[a+16>>2]=0;i[a+20>>2]=0;i[a+8>>2]=0;i[a>>2]=0;i[a+4>>2]=0;i[a+24>>2]=0;c=i[b+4>>2]-i[b>>2]|0;d=(c|0)/20|0;a:{if(!c){i[a+28>>2]=0;break a}if(d>>>0<214748365){c=Gm(c);i[a+16>>2]=c;i[a+20>>2]=c;i[a+24>>2]=c+o(d,20);d=i[b>>2];b=i[b+4>>2]-d|0;if((b|0)<=0){i[a+28>>2]=0;i[a+20>>2]=c;break a}d=sn(c,d,b);c=0;i[a+28>>2]=0;b=o((b>>>0)/20|0,20);f=b+d|0;i[a+20>>2]=f;g=a;if(b){b=(f-d|0)/20|0;f=b>>>0>1?b:1;b=0;while(1){e=o(c,20)+d|0;e=o(i[e+16>>2],i[e+12>>2]);b=b>>>0>>0?e:b;c=c+1|0;if((f|0)!=(c|0)){continue}break}if(!b){break a}tb(a,b);b=i[a>>2]}else{b=0}i[g+12>>2]=b;return a}Vm();x()}i[a+12>>2]=0;return a}function Lb(a,b,c){var d=0,e=0,f=0,h=0,k=0,m=0,n=0,p=0,q=0;e=L-16|0;L=e;d=g[b+24|0];i[e+8>>2]=0;i[e>>2]=0;i[e+4>>2]=0;a:{if(d){if((d|0)<=-1){break a}h=Gm(d);i[e>>2]=h;f=d+h|0;i[e+8>>2]=f;tn(h,0,d);i[e+4>>2]=f;f=Gm(d);tn(f,0,d)}if(i[b+80>>2]){while(1){n=i[i[b>>2]>>2];k=i[b+40>>2];d=i[b+48>>2]+Jn(k,i[b+44>>2],p,m)|0;q=sn(h,n+d|0,k);k=g[b+24|0];if((k|0)>=1){n=i[a+48>>2];d=0;while(1){g[d+f|0]=j[d+q|0]+j[(c+d<<2)+n|0];d=d+1|0;if((d|0)<(k|0)){continue}break}}d=i[b+40>>2];sn(i[i[b>>2]>>2]+o(d,p)|0,f,d);d=p+1|0;if(d>>>0<1){m=m+1|0}p=d;if(!m&d>>>0>2]|m>>>0<0){continue}break}}if(f){qn(f)}if(h){i[e+4>>2]=h;qn(h)}L=e+16|0;return 1}Vm();x()}function Jg(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=(c>>>0)/3|0;Kg(i[a+12>>2],i[(i[i[a+8>>2]+96>>2]+o(d,12)|0)+(c-o(d,3)<<2)>>2]);a:{b:{g=i[a+4>>2];d=i[g+4>>2];f=i[g+8>>2];c:{if((d|0)!=(f|0)){i[d>>2]=c;i[g+4>>2]=d+4;break c}h=i[g>>2];j=d-h|0;d=j>>2;e=d+1|0;if(e>>>0>=1073741824){break b}k=d<<2;f=f-h|0;d=f>>1;e=f>>2>>>0<536870911?d>>>0>>0?e:d:1073741823;d=0;d:{if(!e){break d}if(e>>>0>=1073741824){break a}d=Gm(e<<2)}f=k+d|0;i[f>>2]=c;c=d+(e<<2)|0;e=f+4|0;if((j|0)>=1){sn(d,h,j)}i[g+8>>2]=c;i[g+4>>2]=e;i[g>>2]=d;if(!h){break c}qn(h)}a=i[a+4>>2];i[i[a+12>>2]+(b<<2)>>2]=i[a+24>>2];i[a+24>>2]=i[a+24>>2]+1;return}Vm();x()}Da(12220);x()}function Ak(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;f=L-16|0;L=f;i[a+80>>2]=0;i[a+84>>2]=0;c=a+76|0;d=i[c>>2];i[c>>2]=0;if(d){qn(d)}i[a+68>>2]=0;i[a+72>>2]=0;c=a- -64|0;d=i[c>>2];i[c>>2]=0;if(d){qn(d)}c=i[b+4>>2];d=i[b>>2];e=o((c-d|0)/12|0,3);h=i[a>>2];g=i[a+4>>2]-h>>2;a:{if(e>>>0>g>>>0){Bk(a,e-g|0);d=i[b>>2];c=i[b+4>>2];break a}if(e>>>0>=g>>>0){break a}i[a+4>>2]=h+(e<<2)}if((c|0)!=(d|0)){b=(c-d|0)/12|0;g=b>>>0>1?b:1;h=i[a>>2];b=0;while(1){e=o(b,12);c=e+h|0;e=d+e|0;i[c>>2]=i[e>>2];i[c+4>>2]=i[e+4>>2];i[c+8>>2]=i[e+8>>2];b=b+1|0;if((g|0)!=(b|0)){continue}break}}i[f+12>>2]=-1;b=Ck(a,f+12|0);if(b){Dk(a);Ek(a,i[f+12>>2])}L=f+16|0;return b}function eb(a,b){var c=0,d=0,e=0,f=0,g=0;a:{b:{c:{e=i[a>>2];f=i[a+4>>2]-e>>2;c=f+1|0;if(c>>>0<1073741824){e=i[a+8>>2]-e|0;g=e>>1;c=e>>2>>>0<536870911?g>>>0>>0?c:g:1073741823;if(c){if(c>>>0>=1073741824){break c}d=Gm(c<<2)}e=i[b>>2];i[b>>2]=0;b=(f<<2)+d|0;i[b>>2]=e;e=(c<<2)+d|0;f=b+4|0;c=i[a+4>>2];d=i[a>>2];if((c|0)==(d|0)){break b}while(1){c=c+ -4|0;g=i[c>>2];i[c>>2]=0;b=b+ -4|0;i[b>>2]=g;if((c|0)!=(d|0)){continue}break}d=i[a+4>>2];c=i[a>>2];break a}Vm();x()}Da(1756);x()}c=d}i[a+8>>2]=e;i[a+4>>2]=f;i[a>>2]=b;if((c|0)!=(d|0)){while(1){d=d+ -4|0;a=i[d>>2];i[d>>2]=0;if(a){Ua(a)}if((c|0)!=(d|0)){continue}break}}if(c){qn(c)}}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0;c=i[b+12>>2];h=c;e=c;c=i[b+20>>2];f=c;g=i[b+16>>2];d=g+4|0;if(d>>>0<4){c=c+1|0}l=i[b+8>>2];n=d;d=c;a:{if((e|0)<(c|0)?1:(e|0)<=(c|0)?l>>>0>>0:0){break a}c=g+i[b>>2]|0;e=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=n;i[b+20>>2]=d;if(k[b+38>>1]<=513){c=f;d=g+8|0;if(d>>>0<8){c=c+1|0}f=d;d=c;if((h|0)<(c|0)?1:(h|0)<=(c|0)?l>>>0>>0:0){break a}i[b+16>>2]=f;i[b+20>>2]=d}if(!(e&1)){break a}b=r(e)^31;c=b+ -1|0;if(c>>>0<=28){i[a+8>>2]=b+1;b=-2<>2]=d;i[a+12>>2]=b^-1;i[a+24>>2]=(d|0)/2;m[a+20>>2]=p(2)/p(d|0)}o=c>>>0<29}return o|0}function Oa(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>2;d=i[a+8>>2];e=i[a>>2];if(g>>>0<=d-e>>2>>>0){f=i[a+4>>2];d=f-e|0;h=d>>2;d=g>>>0>h>>>0?b+d|0:c;if((d|0)!=(b|0)){while(1){i[e>>2]=i[b>>2];e=e+4|0;b=b+4|0;if((d|0)!=(b|0)){continue}break}}if(g>>>0>h>>>0){b=c-d|0;if((b|0)>=1){f=sn(f,d,b)+b|0}i[a+4>>2]=f;return}i[a+4>>2]=e;return}if(e){i[a+4>>2]=e;qn(e);i[a+8>>2]=0;i[a>>2]=0;i[a+4>>2]=0;d=0}a:{if(g>>>0>=1073741824){break a}c=d>>1;c=d>>2>>>0<536870911?c>>>0>>0?g:c:1073741823;if(c>>>0>=1073741824){break a}e=c<<2;c=Gm(e);i[a>>2]=c;i[a+4>>2]=c;i[a+8>>2]=c+e;if((f|0)>=1){c=sn(c,b,f)+f|0}i[a+4>>2]=c;return}Vm();x()}function bi(a,b,c){var d=0,e=0,f=0,h=0;d=L-32|0;L=d;a:{h=An(b);if(h>>>0<4294967280){b:{c:{if(h>>>0>=11){e=h+16&-16;f=Gm(e);i[d+24>>2]=e|-2147483648;i[d+16>>2]=f;i[d+20>>2]=h;break c}g[d+27|0]=h;f=d+16|0;if(!h){break b}}sn(f,b,h)}g[f+h|0]=0;e=An(c);if(e>>>0>=4294967280){break a}d:{e:{if(e>>>0>=11){b=e+16&-16;f=Gm(b);i[d+8>>2]=b|-2147483648;i[d>>2]=f;i[d+4>>2]=e;break e}g[d+11|0]=e;f=d;if(!e){break d}}sn(f,c,e)}g[e+f|0]=0;c=i[a+4>>2];b=-1;f:{if(!c){break f}c=al(c,d+16|0,d);b=-1;if(!c){break f}b=ql(a,i[c+24>>2])}a=b;if(g[d+11|0]<=-1){qn(i[d>>2])}if(g[d+27|0]<=-1){qn(i[d+16>>2])}L=d+32|0;return a}Im();x()}Im();x()}function de(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=L-32|0;L=f;g=(e&1073741823)!=(e|0)?-1:e<<2;m=tn(Gm(g),0,g);g=m;j=i[g>>2];g=i[g+4>>2];l=i[b+4>>2];i[f+24>>2]=i[b>>2];i[f+28>>2]=l;i[f+8>>2]=j;i[f+12>>2]=g;j=a+8|0;_d(f+16|0,j,f+8|0,f+24|0);i[c>>2]=i[f+16>>2];i[c+4>>2]=i[f+20>>2];if((e|0)<(d|0)){l=0-e<<2;a=e;while(1){h=a<<2;g=h+c|0;k=g+l|0;n=i[k>>2];k=i[k+4>>2];h=b+h|0;o=i[h+4>>2];i[f+24>>2]=i[h>>2];i[f+28>>2]=o;i[f+8>>2]=n;i[f+12>>2]=k;_d(f+16|0,j,f+8|0,f+24|0);i[g>>2]=i[f+16>>2];i[g+4>>2]=i[f+20>>2];a=a+e|0;if((a|0)<(d|0)){continue}break}}qn(m);L=f+32|0;return 1}function ne(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=L-32|0;L=f;h=(e&1073741823)!=(e|0)?-1:e<<2;h=tn(Gm(h),0,h);g=i[b>>2];j=i[b+4>>2];l=i[h+4>>2];i[f+16>>2]=i[h>>2];i[f+20>>2]=l;i[f+8>>2]=g;i[f+12>>2]=j;j=a+8|0;ie(f+24|0,j,f+16|0,f+8|0);i[c>>2]=i[f+24>>2];i[c+4>>2]=i[f+28>>2];if((e|0)<(d|0)){l=0-e<<2;a=e;while(1){g=a<<2;k=g+b|0;n=i[k>>2];k=i[k+4>>2];g=c+g|0;m=g+l|0;o=i[m+4>>2];i[f+16>>2]=i[m>>2];i[f+20>>2]=o;i[f+8>>2]=n;i[f+12>>2]=k;ie(f+24|0,j,f+16|0,f+8|0);i[g>>2]=i[f+24>>2];i[g+4>>2]=i[f+28>>2];a=a+e|0;if((a|0)<(d|0)){continue}break}}qn(h);L=f+32|0;return 1}function Yb(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0;e=i[a+8>>2];d=i[a+4>>2];if(e-d>>2>>>0>=b>>>0){if(!b){i[a+4>>2]=d;return}b=(b<<2)+d|0;while(1){i[d>>2]=i[c>>2];d=d+4|0;if((b|0)!=(d|0)){continue}break}i[a+4>>2]=b;return}a:{g=i[a>>2];h=d-g|0;f=h>>2;d=f+b|0;if(d>>>0<1073741824){j=f<<2;e=e-g|0;f=e>>1;e=e>>2>>>0<536870911?f>>>0>>0?d:f:1073741823;f=0;b:{if(!e){break b}if(e>>>0>=1073741824){break a}f=Gm(e<<2)}d=j+f|0;b=d+(b<<2)|0;e=f+(e<<2)|0;c=i[c>>2];while(1){i[d>>2]=c;d=d+4|0;if((b|0)!=(d|0)){continue}break}if((h|0)>=1){sn(f,g,h)}i[a+8>>2]=e;i[a+4>>2]=b;i[a>>2]=f;if(g){qn(g)}return}Vm();x()}Da(1972);x()}function Va(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0;e=i[a+8>>2];d=i[a+4>>2];if(e-d>>2>>>0>=b>>>0){if(!b){i[a+4>>2]=d;return}b=(b<<2)+d|0;while(1){i[d>>2]=i[c>>2];d=d+4|0;if((b|0)!=(d|0)){continue}break}i[a+4>>2]=b;return}a:{g=i[a>>2];h=d-g|0;f=h>>2;d=f+b|0;if(d>>>0<1073741824){j=f<<2;e=e-g|0;f=e>>1;e=e>>2>>>0<536870911?f>>>0>>0?d:f:1073741823;f=0;b:{if(!e){break b}if(e>>>0>=1073741824){break a}f=Gm(e<<2)}d=j+f|0;b=d+(b<<2)|0;e=f+(e<<2)|0;c=i[c>>2];while(1){i[d>>2]=c;d=d+4|0;if((b|0)!=(d|0)){continue}break}if((h|0)>=1){sn(f,g,h)}i[a+8>>2]=e;i[a+4>>2]=b;i[a>>2]=f;if(g){qn(g)}return}Vm();x()}Da(1496);x()}function Rb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{f=i[a+4>>2];e=i[a>>2];b:{if((f|0)!=(e|0)){c=f;break b}d=i[a+8>>2];c=i[a+12>>2];if(d>>>0>>0){g=((c-d>>2)+1|0)/2<<2;c=g+d|0;e=d-f|0;if(e){c=c-e|0;un(c,f,e);d=i[a+8>>2]}i[a+4>>2]=c;i[a+8>>2]=d+g;break b}c=c-e|0;c=c?c>>1:1;if(c>>>0>=1073741824){break a}e=c<<2;g=Gm(e);h=e+g|0;c=g+(c+3&-4)|0;d=d-f|0;c:{if(!d){e=c;break c}e=c+d|0;d=c;while(1){i[d>>2]=i[f>>2];f=f+4|0;d=d+4|0;if((d|0)!=(e|0)){continue}break}f=i[a>>2]}i[a+12>>2]=h;i[a+8>>2]=e;i[a+4>>2]=c;i[a>>2]=g;if(!f){break b}qn(f);c=i[a+4>>2]}i[c+ -4>>2]=i[b>>2];i[a+4>>2]=i[a+4>>2]+ -4;return}Da(1756);x()}function Fk(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=i[a+8>>2];c=i[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(!b){i[a+4>>2]=c;return}b=(b<<2)+c|0;while(1){i[c>>2]=i[3571];c=c+4|0;if((b|0)!=(c|0)){continue}break}i[a+4>>2]=b;return}a:{f=i[a>>2];g=c-f|0;e=g>>2;c=e+b|0;if(c>>>0<1073741824){h=e<<2;d=d-f|0;e=d>>1;d=d>>2>>>0<536870911?e>>>0>>0?c:e:1073741823;e=0;b:{if(!d){break b}if(d>>>0>=1073741824){break a}e=Gm(d<<2)}c=h+e|0;b=c+(b<<2)|0;d=e+(d<<2)|0;h=i[3571];while(1){i[c>>2]=h;c=c+4|0;if((b|0)!=(c|0)){continue}break}if((g|0)>=1){sn(e,f,g)}i[a+8>>2]=d;i[a+4>>2]=b;i[a>>2]=e;if(f){qn(f)}return}Vm();x()}Da(14288);x()}function je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,n=0;c=i[b+12>>2];h=c;e=c;c=i[b+20>>2];f=c;g=i[b+16>>2];d=g+4|0;if(d>>>0<4){c=c+1|0}k=i[b+8>>2];l=d;d=c;a:{if((e|0)<(c|0)?1:(e|0)<=(c|0)?k>>>0>>0:0){break a}c=g+i[b>>2]|0;e=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=l;i[b+20>>2]=d;c=f;d=g+8|0;if(d>>>0<8){c=c+1|0}f=d;d=c;if((h|0)<(c|0)?1:(h|0)<=(c|0)?k>>>0>>0:0){break a}i[b+16>>2]=f;i[b+20>>2]=d;if(!(e&1)){break a}b=r(e)^31;if(b+ -1>>>0>28){break a}n=1;i[a+8>>2]=b+1;b=-2<>2]=c;i[a+12>>2]=b^-1;i[a+24>>2]=(c|0)/2;m[a+20>>2]=p(2)/p(c|0)}return n|0}function oa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,k=0;d=i[b+88>>2];if(!(!d|i[d>>2]!=1)){c=i[d+8>>2];i[a+4>>2]=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);f=a+8|0;h=i[a+8>>2];e=i[a+12>>2]-h>>2;c=g[b+24|0];a:{if(e>>>0>>0){pa(f,c-e|0);c=j[b+24|0];break a}if(e>>>0<=c>>>0){break a}i[a+12>>2]=h+(c<<2)}h=1;e=i[d+8>>2];b:{if(c<<24>>24<1){b=4;break b}b=c&255;k=b>>>0>1?b:1;f=i[f>>2];c=0;b=4;while(1){d=b+e|0;i[f+(c<<2)>>2]=j[d|0]|j[d+1|0]<<8|(j[d+2|0]<<16|j[d+3|0]<<24);b=b+4|0;c=c+1|0;if((k|0)!=(c|0)){continue}break}}c=a;a=b+e|0;i[c+20>>2]=j[a|0]|j[a+1|0]<<8|(j[a+2|0]<<16|j[a+3|0]<<24)}return h|0}function li(a,b,c){var d=0,e=0,f=0,h=0,k=0,l=0,m=0;d=L-16|0;L=d;k=i[a+80>>2];l=g[b+24|0];a=i[3527];i[d+8>>2]=i[3526];i[d+12>>2]=a;a=i[3525];i[d>>2]=i[3524];i[d+4>>2]=a;a=o(k,l);f=i[c>>2];e=i[c+4>>2]-f>>2;a:{if(a>>>0>e>>>0){pa(c,a-e|0);break a}if(a>>>0>=e>>>0){break a}i[c+4>>2]=f+(a<<2)}b:{if(!k){f=0;break b}f=1;while(1){a=h;e=b;if(!j[e+84|0]){a=i[i[b+68>>2]+(h<<2)>>2]}if(!bd(e,a,g[b+24|0],d)){break b}if((l|0)>=1){e=i[c>>2];a=0;while(1){i[e+(m<<2)>>2]=i[(a<<2)+d>>2];m=m+1|0;a=a+1|0;if((l|0)!=(a|0)){continue}break}}h=h+1|0;f=h>>>0>>0;if((k|0)!=(h|0)){continue}break}}L=d+16|0;return(f^-1)&1}function Qb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{c=i[a+8>>2];d=i[a+12>>2];b:{if((c|0)!=(d|0)){break b}f=i[a+4>>2];e=i[a>>2];if(f>>>0>e>>>0){e=((f-e>>2)+1|0)/-2<<2;d=e+f|0;c=c-f|0;if(c){un(d,f,c);f=i[a+4>>2]}c=c+d|0;i[a+8>>2]=c;i[a+4>>2]=f+e;break b}d=d-e|0;d=d?d>>1:1;if(d>>>0>=1073741824){break a}g=d<<2;h=Gm(g);g=h+g|0;d=(d&-4)+h|0;c=c-f|0;c:{if(!c){c=d;break c}c=c+d|0;e=d;while(1){i[e>>2]=i[f>>2];f=f+4|0;e=e+4|0;if((c|0)!=(e|0)){continue}break}e=i[a>>2]}i[a+12>>2]=g;i[a+8>>2]=c;i[a+4>>2]=d;i[a>>2]=h;if(!e){break b}qn(e);c=i[a+8>>2]}i[c>>2]=i[b>>2];i[a+8>>2]=i[a+8>>2]+4;return}Da(1756);x()}function Pk(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=i[a+8>>2];c=i[a+4>>2];if(d-c>>2>>>0>=b>>>0){if(!b){i[a+4>>2]=c;return}b=(b<<2)+c|0;while(1){i[c>>2]=1;c=c+4|0;if((b|0)!=(c|0)){continue}break}i[a+4>>2]=b;return}a:{f=i[a>>2];g=c-f|0;e=g>>2;c=e+b|0;if(c>>>0<1073741824){h=e<<2;d=d-f|0;e=d>>1;d=d>>2>>>0<536870911?e>>>0>>0?c:e:1073741823;e=0;b:{if(!d){break b}if(d>>>0>=1073741824){break a}e=Gm(d<<2)}c=h+e|0;b=c+(b<<2)|0;d=e+(d<<2)|0;while(1){i[c>>2]=1;c=c+4|0;if((b|0)!=(c|0)){continue}break}if((g|0)>=1){sn(e,f,g)}i[a+8>>2]=d;i[a+4>>2]=b;i[a>>2]=e;if(f){qn(f)}return}Vm();x()}Da(14408);x()}function eh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=i[a+4>>2];f=i[a+8>>2];if((e|0)!=(f|0)){d=i[b+4>>2];i[e>>2]=i[b>>2];i[e+4>>2]=d;i[e+8>>2]=i[b+8>>2];i[a+4>>2]=e+12;return}a:{c=e;e=i[a>>2];g=c-e|0;c=(g|0)/12|0;d=c+1|0;if(d>>>0<357913942){h=o(c,12);f=(f-e|0)/12|0;c=f<<1;f=f>>>0<178956970?c>>>0>>0?d:c:357913941;c=0;b:{if(!f){break b}if(f>>>0>=357913942){break a}c=Gm(o(f,12))}d=h+c|0;h=i[b+4>>2];i[d>>2]=i[b>>2];i[d+4>>2]=h;i[d+8>>2]=i[b+8>>2];b=d+o((g|0)/-12|0,12)|0;c=c+o(f,12)|0;d=d+12|0;if((g|0)>=1){sn(b,e,g)}i[a+8>>2]=c;i[a+4>>2]=d;i[a>>2]=b;if(e){qn(e)}return}Vm();x()}Da(13352);x()}function ua(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=p(0);f=L-16|0;L=f;if(i[c+28>>2]==9){d=i[a+4>>2];e=g[c+24|0];h=e<<2;j=Gm((e&1073741823)!=(e|0)?-1:h);k=Mh(f+8|0);l=Oh(k,m[a+20>>2],-1<>2];if(!n){break a}s=i[i[b>>2]>>2]+i[b+48>>2]|0;t=(e|0)<1;d=0;while(1){if(!t){u=i[a+8>>2];v=m[k>>2];b=0;while(1){o=b<<2;m[o+j>>2]=p(v*p(i[(d<<2)+s>>2]))+m[u+o>>2];d=d+1|0;b=b+1|0;if((e|0)!=(b|0)){continue}break}}sn(i[i[c+64>>2]>>2]+q|0,j,h);q=h+q|0;r=r+1|0;if((r|0)!=(n|0)){continue}break}}qn(j)}L=f+16|0;return l|0}function Re(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0,l=0;f=a+4|0;a:{a=i[a+4>>2];if(a){e=j[c+11|0];d=e<<24>>24<0;k=d?i[c>>2]:c;e=d?i[c+4>>2]:e;while(1){c=j[a+27|0];d=c<<24>>24<0;c=d?i[a+20>>2]:c;l=c>>>0>>0;b:{c:{d:{e:{f:{h=l?c:e;g:{if(h){g=a+16|0;d=d?i[g>>2]:g;g=Pl(k,d,h);if(!g){if(e>>>0>>0){break g}break f}if((g|0)>-1){break f}break g}if(e>>>0>=c>>>0){break e}}c=i[a>>2];if(c){break b}i[b>>2]=a;return a}c=Pl(d,k,h);if(c){break d}}if(l){break c}break a}if((c|0)>-1){break a}}f=a+4|0;c=i[a+4>>2];if(!c){break a}a=f}f=a;a=c;continue}}i[b>>2]=f;return f}i[b>>2]=a;return f}function La(a,b){var c=0;c=i[b+4>>2];i[a>>2]=i[b>>2];i[a+4>>2]=c;c=i[b+60>>2];i[a+56>>2]=i[b+56>>2];i[a+60>>2]=c;c=i[b+52>>2];i[a+48>>2]=i[b+48>>2];i[a+52>>2]=c;c=i[b+44>>2];i[a+40>>2]=i[b+40>>2];i[a+44>>2]=c;c=i[b+36>>2];i[a+32>>2]=i[b+32>>2];i[a+36>>2]=c;c=i[b+28>>2];i[a+24>>2]=i[b+24>>2];i[a+28>>2]=c;c=i[b+20>>2];i[a+16>>2]=i[b+16>>2];i[a+20>>2]=c;c=i[b+12>>2];i[a+8>>2]=i[b+8>>2];i[a+12>>2]=c;i[a+88>>2]=0;i[a+64>>2]=0;i[a+68>>2]=0;i[a+72>>2]=0;i[a+76>>2]=0;g[a+77|0]=0;g[a+78|0]=0;g[a+79|0]=0;g[a+80|0]=0;g[a+81|0]=0;g[a+82|0]=0;g[a+83|0]=0;g[a+84|0]=0;return a}function Kh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;g=a+4|0;a=i[a+4>>2];a:{b:{if(!a){break b}d=j[b+11|0];c=d<<24>>24<0;k=c?i[b>>2]:b;e=c?i[b+4>>2]:d;c=g;while(1){b=j[a+27|0];l=b<<24>>24<0;h=l?i[a+20>>2]:b;f=e>>>0>>0;d=f?e:h;c:{if(d){b=a+16|0;b=Pl(l?i[b>>2]:b,k,d);if(b){break c}}b=h>>>0>>0?-1:f}c=(b|0)<0?c:a;a=i[(b>>>29&4)+a>>2];if(a){continue}break}if((c|0)==(g|0)){break b}a=j[c+27|0];f=a<<24>>24<0;d:{d=f?i[c+20>>2]:a;b=d>>>0>>0?d:e;if(b){a=c+16|0;a=Pl(k,f?i[a>>2]:a,b);if(a){break d}}if(e>>>0>>0){break b}break a}if((a|0)>-1){break a}}c=g}return c}function wa(a,b,c){var d=0,e=0,f=0,g=0,h=0;f=c-b|0;g=f>>2;d=i[a+8>>2];e=i[a>>2];if(g>>>0<=d-e>>2>>>0){d=i[a+4>>2]-e|0;f=d>>2;d=g>>>0>f>>>0?b+d|0:c;h=d-b|0;if(h){un(e,b,h)}if(g>>>0>f>>>0){b=i[a+4>>2];c=c-d|0;if((c|0)>=1){b=sn(b,d,c)+c|0}i[a+4>>2]=b;return}i[a+4>>2]=e+h;return}if(e){i[a+4>>2]=e;qn(e);i[a+8>>2]=0;i[a>>2]=0;i[a+4>>2]=0;d=0}a:{if(g>>>0>=1073741824){break a}c=d>>1;c=d>>2>>>0<536870911?c>>>0>>0?g:c:1073741823;if(c>>>0>=1073741824){break a}e=c<<2;c=Gm(e);i[a>>2]=c;i[a+4>>2]=c;i[a+8>>2]=c+e;if((f|0)>=1){c=sn(c,b,f)+f|0}i[a+4>>2]=c;return}Vm();x()}function Ue(a,b,c){var d=0,e=0,f=0,g=0;a:{b:{d=i[b+16>>2];f=i[b+12>>2];e=i[b+20>>2];c:{if((f|0)<(e|0)?1:(f|0)<=(e|0)?l[b+8>>2]<=d>>>0:0){break c}f=j[d+i[b>>2]|0];d=d+1|0;if(d>>>0<1){e=e+1|0}i[b+16>>2]=d;i[b+20>>2]=e;d:{e:{switch(f+ -1|0){case 8:return Ye(a,b,c);case 9:return Ze(a,b,c);case 10:return _e(a,b,c);case 11:return $e(a,b,c);case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break b;case 13:case 14:case 15:case 16:break a;case 17:break d;case 12:break e;default:break c}}return af(a,b,c)}g=bf(a,b,c)}return g}return Xe(a,b,c)}return bf(a,b,c)}function Eh(a,b,c){var d=0,e=0,f=0,h=0;a:{b:{if(!b){break b}if(k[a+38>>1]<=513){e=i[a+12>>2];b=i[a+20>>2];f=i[a+16>>2];h=f+8|0;if(h>>>0<8){b=b+1|0}if((e|0)<(b|0)?1:(e|0)<=(b|0)?l[a+8>>2]>>0:0){break a}b=f+i[a>>2]|0;d=j[b+4|0]|j[b+5|0]<<8|(j[b+6|0]<<16|j[b+7|0]<<24);i[c>>2]=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[c+4>>2]=d;c=i[a+20>>2];d=i[a+16>>2]+8|0;if(d>>>0<8){c=c+1|0}i[a+16>>2]=d;i[a+20>>2]=c;break b}if(!Fh(1,c,a)){break a}}g[a+36|0]=1;i[a+32>>2]=0;b=i[a+16>>2];c=b+i[a>>2]|0;i[a+24>>2]=c;d=a;a=i[a+8>>2];i[d+28>>2]=c+(a-b|0);d=1}return d}function el(a,b,c,d){var e=0,f=0,h=0,j=0,k=0,l=0,m=0;h=L-16|0;L=h;l=a;j=Re(b,h+12|0,c);c=i[j>>2];if(c){b=0}else{c=Gm(40);e=d+8|0;i[c+24>>2]=i[e>>2];f=i[d+4>>2];i[c+16>>2]=i[d>>2];i[c+20>>2]=f;i[d>>2]=0;i[d+4>>2]=0;i[e>>2]=0;i[c+36>>2]=0;i[c+28>>2]=0;i[c+32>>2]=0;f=i[d+16>>2];e=i[d+12>>2];k=f-e|0;if(k){e=c+28|0;tb(e,k);f=i[d+16>>2];m=i[e>>2];e=i[d+12>>2]}sn(m,e,f-e|0);i[c+8>>2]=i[h+12>>2];i[c>>2]=0;i[c+4>>2]=0;i[j>>2]=c;e=i[i[b>>2]>>2];d=c;a:{if(!e){break a}i[b>>2]=e;d=i[j>>2]}Oe(i[b+4>>2],d);i[b+8>>2]=i[b+8>>2]+1;b=1}g[l+4|0]=b;i[a>>2]=c;L=h+16|0}function di(a,b){var c=0,d=0;c=L-96|0;L=c;tn(c+16|0,0,76);i[c+92>>2]=-1;i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0;a:{if(ei(c+16|0,a,c)){a=i[b>>2];if(a){i[b+4>>2]=a;qn(a);i[b+8>>2]=0;i[b>>2]=0;i[b+4>>2]=0}i[b>>2]=i[c>>2];i[b+4>>2]=i[c+4>>2];i[b+8>>2]=i[c+8>>2];i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0;d=i[c+84>>2];break a}a=i[c>>2];if(!a){break a}i[c+4>>2]=a;qn(a)}a=i[c+72>>2];if(a){qn(a)}a=i[c+48>>2];if(a){i[c+52>>2]=a;qn(a)}a=i[c+36>>2];if(a){i[c+40>>2]=a;qn(a)}a=i[c+24>>2];if(a){i[c+28>>2]=a;qn(a)}a=i[c+20>>2];i[c+20>>2]=0;if(a){Sf(c+16|4,a)}L=c+96|0;return d}function Vl(a,b,c){var d=0,e=0,f=0;d=L-208|0;L=d;i[d+204>>2]=c;c=0;tn(d+160|0,0,40);i[d+200>>2]=i[d+204>>2];a:{if((Wl(0,b,d+200|0,d+80|0,d+160|0)|0)<0){break a}c=i[a+76>>2]>=0?1:c;e=i[a>>2];if(g[a+74|0]<=0){i[a>>2]=e&-33}f=e&32;b:{if(i[a+48>>2]){Wl(a,b,d+200|0,d+80|0,d+160|0);break b}i[a+48>>2]=80;i[a+16>>2]=d+80;i[a+28>>2]=d;i[a+20>>2]=d;e=i[a+44>>2];i[a+44>>2]=d;Wl(a,b,d+200|0,d+80|0,d+160|0);if(!e){break b}O[i[a+36>>2]](a,0,0)|0;i[a+48>>2]=0;i[a+44>>2]=e;i[a+28>>2]=0;i[a+16>>2]=0;i[a+20>>2]=0}i[a>>2]=f|i[a>>2];if(!c){break a}}L=d+208|0}function Ik(a,b,c){var d=0,e=0,f=0,g=0;a:{if((b|c)>=0){b:{if(b>>>0>1431655765){break b}d=o(b,3);Jk(a,d,14280);Jk(a+12|0,d,14284);d=i[a+24>>2];c:{if(i[a+32>>2]-d>>2>>>0>=c>>>0){break c}if(c>>>0>=1073741824){break a}e=i[a+28>>2];f=c<<2;c=Gm(f);f=c+f|0;e=e-d|0;g=e+c|0;if((e|0)>=1){sn(c,d,e)}i[a+32>>2]=f;i[a+28>>2]=g;i[a+24>>2]=c;if(!d){break c}qn(d)}i[a+80>>2]=0;i[a+84>>2]=0;d=a+76|0;c=i[d>>2];i[d>>2]=0;if(c){qn(c)}i[a+68>>2]=0;i[a+72>>2]=0;c=a- -64|0;a=i[c>>2];i[c>>2]=0;if(!a){break b}qn(a)}a=b>>>0<1431655766}else{a=0}return a}Da(14288);x()}function hg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,k=0;f=L-16|0;L=f;a:{if(!Wf(a,b)){break a}g=i[b+12>>2];c=i[b+20>>2];h=i[b+16>>2];e=h+4|0;if(e>>>0<4){c=c+1|0}d=e;e=c;if((g|0)<(c|0)?1:(g|0)<=(c|0)?l[b+8>>2]>>0:0){break a}c=h+i[b>>2]|0;c=j[c|0]|j[c+1|0]<<8|(j[c+2|0]<<16|j[c+3|0]<<24);i[b+16>>2]=d;i[b+20>>2]=e;if((c|0)<0){break a}d=i[a+152>>2];if((c|0)>=(d|0)){break a}i[f+12>>2]=0;e=i[a+156>>2];c=i[a+160>>2]-e>>2;b:{if(d>>>0>c>>>0){Va(a+156|0,d-c|0,f+12|0);break b}if(d>>>0>=c>>>0){break b}i[a+160>>2]=e+(d<<2)}k=Ce(a+168|0,b)}L=f+16|0;return k}function vl(a,b){var c=0,d=0,e=0,f=0;a:{if((b|0)<0){break a}c=i[a+24>>2];d=i[a+28>>2];if((c|0)==(d|0)){break a}while(1){e=c+4|0;if(i[i[c>>2]+24>>2]==(b|0)){b:{if((d|0)!=(e|0)){while(1){b=i[e>>2];i[e>>2]=0;f=i[c>>2];i[c>>2]=b;if(f){sh(f+12|0,i[f+16>>2]);th(f,i[f+4>>2]);qn(f)}c=c+4|0;e=e+4|0;if((d|0)!=(e|0)){continue}break}d=i[a+28>>2];if((d|0)==(c|0)){break b}}while(1){d=d+ -4|0;b=i[d>>2];i[d>>2]=0;if(b){sh(b+12|0,i[b+16>>2]);th(b,i[b+4>>2]);qn(b)}if((c|0)!=(d|0)){continue}break}}i[a+28>>2]=c;return}c=e;if((d|0)!=(c|0)){continue}break}}}function hb(a){var b=0,c=0,d=0,e=0;d=i[a+132>>2];if(d){b=i[a+136>>2];c=d;a:{if((d|0)==(b|0)){break a}while(1){c=b+ -12|0;e=i[c>>2];if(e){i[b+ -8>>2]=e;qn(e)}b=c;if((b|0)!=(d|0)){continue}break}c=i[a+132>>2]}i[a+136>>2]=d;qn(c)}d=i[a+120>>2];if(d){b=i[a+124>>2];c=d;b:{if((d|0)==(b|0)){break b}while(1){c=b+ -12|0;e=i[c>>2];if(e){i[b+ -8>>2]=e;qn(e)}b=c;if((b|0)!=(d|0)){continue}break}c=i[a+120>>2]}i[a+124>>2]=d;qn(c)}b=i[a+108>>2];if(b){i[a+112>>2]=b;qn(b)}b=i[a+96>>2];if(b){i[a+100>>2]=b;qn(b)}ye(a+76|0);ye(a+56|0);ye(a+36|0);ye(a+16|0)}function en(a){var b=0,c=0,d=0,e=0;b=L+ -64|0;L=b;d=i[a>>2];c=i[d+ -4>>2];d=i[d+ -8>>2];i[b+20>>2]=0;i[b+16>>2]=16520;i[b+12>>2]=a;i[b+8>>2]=16568;tn(b+24|0,0,39);a=a+d|0;a:{if(cn(c,16568,0)){i[b+56>>2]=1;O[i[i[c>>2]+20>>2]](c,b+8|0,a,a,1,0);e=i[b+32>>2]==1?a:0;break a}O[i[i[c>>2]+24>>2]](c,b+8|0,a,1,0);b:{switch(i[b+44>>2]){case 0:e=i[b+48>>2]==1?i[b+36>>2]==1?i[b+40>>2]==1?i[b+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(i[b+32>>2]!=1){if(i[b+48>>2]|i[b+36>>2]!=1|i[b+40>>2]!=1){break a}}e=i[b+24>>2]}L=b- -64|0;return e}function df(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=i[a+8>>2];c=i[a+4>>2];if(e-c>>3>>>0>=b>>>0){if(!b){i[a+4>>2]=c;return}b=(b<<3)+c|0;while(1){i[c>>2]=0;i[c+4>>2]=0;c=c+8|0;if((b|0)!=(c|0)){continue}break}i[a+4>>2]=b;return}a:{f=i[a>>2];h=c-f|0;g=h>>3;d=g+b|0;if(d>>>0<536870912){c=0;g=g<<3;e=e-f|0;j=e>>2;d=e>>3>>>0<268435455?j>>>0>>0?d:j:536870911;if(d){if(d>>>0>=536870912){break a}c=Gm(d<<3)}b=b<<3;b=tn(c+g|0,0,b)+b|0;d=(d<<3)+c|0;if((h|0)>=1){sn(c,f,h)}i[a+8>>2]=d;i[a+4>>2]=b;i[a>>2]=c;if(f){qn(f)}return}Vm();x()}Da(11186);x()}function Nb(a){a=a|0;var b=0,c=0,d=0;i[a>>2]=1572;b=i[a+60>>2];if(b){c=i[a- -64>>2];d=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;d=i[c>>2];i[c>>2]=0;if(d){Ua(d)}if((b|0)!=(c|0)){continue}break}d=i[a+60>>2]}i[a+64>>2]=b;qn(d)}b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}b=i[a+36>>2];if(b){c=i[a+40>>2];d=b;b:{if((b|0)==(c|0)){break b}while(1){c=c+ -24|0;O[i[i[c>>2]>>2]](c)|0;if((b|0)!=(c|0)){continue}break}d=i[a+36>>2]}i[a+40>>2]=b;qn(d)}i[a>>2]=1360;b=i[a+16>>2];if(b){i[a+20>>2]=b;qn(b)}b=i[a+4>>2];if(b){i[a+8>>2]=b;qn(b)}return a|0}function pb(a){var b=0,c=0,d=0,e=0;d=i[a+640>>2];if(d){b=i[a+644>>2];c=d;a:{if((d|0)==(b|0)){break a}while(1){c=b+ -12|0;e=i[c>>2];if(e){i[b+ -8>>2]=e;qn(e)}b=c;if((b|0)!=(d|0)){continue}break}c=i[a+640>>2]}i[a+644>>2]=d;qn(c)}d=i[a+628>>2];if(d){b=i[a+632>>2];c=d;b:{if((d|0)==(b|0)){break b}while(1){c=b+ -12|0;e=i[c>>2];if(e){i[b+ -8>>2]=e;qn(e)}b=c;if((b|0)!=(d|0)){continue}break}c=i[a+628>>2]}i[a+632>>2]=d;qn(c)}b=i[a+616>>2];if(b){i[a+620>>2]=b;qn(b)}b=i[a+604>>2];if(b){i[a+608>>2]=b;qn(b)}ye(a+584|0);ye(a+564|0);ye(a+544|0)}function $k(a,b,c){var d=0,e=0,f=0;e=L-16|0;L=e;a:{b:{if(!c){break b}i[a>>2]=b;i[e+12>>2]=0;d=0;if(!Zk(1,e+12|0,b)){break a}c:{f=i[e+12>>2];if(f){b=0;while(1){if(!Zk(1,e+8|0,i[a>>2])){break b}d=Gm(28);i[d+4>>2]=0;i[d+8>>2]=0;i[d+16>>2]=0;i[d+20>>2]=0;i[d>>2]=d+4;i[d+12>>2]=d+16;i[d+24>>2]=i[e+8>>2];if(!Yk(a,d)){break c}i[e>>2]=d;bl(c,e);d=i[e>>2];i[e>>2]=0;if(d){sh(d+12|0,i[d+16>>2]);th(d,i[d+4>>2]);qn(d)}b=b+1|0;if((f|0)!=(b|0)){continue}break}}d=Yk(a,c);break a}sh(d+12|0,i[d+16>>2]);th(d,i[d+4>>2]);qn(d)}d=0}L=e+16|0;return d}function yc(a,b,c,d,e,f){var g=0,h=0,j=0,k=0;g=L-32|0;L=g;j=i[i[i[b+4>>2]+8>>2]+(d<<2)>>2];a:{b:{if((O[i[i[b>>2]+8>>2]](b)|0)!=1|c+ -1>>>0>5){break b}k=O[i[i[b>>2]+36>>2]](b)|0;h=O[i[i[b>>2]+44>>2]](b,d)|0;if(!(h?k:0)){i[a>>2]=0;break a}d=O[i[i[b>>2]+40>>2]](b,d)|0;if(d){b=i[b+44>>2];i[g+12>>2]=d;i[g+8>>2]=b;i[g+20>>2]=h;i[g+16>>2]=h+12;zc(a,c,j,e,g+8|0,f);if(i[a>>2]){break a}i[a>>2]=0;break b}b=i[b+44>>2];i[g+12>>2]=k;i[g+8>>2]=b;i[g+20>>2]=h;i[g+16>>2]=h+12;Ac(a,c,j,e,g+8|0,f);if(i[a>>2]){break a}i[a>>2]=0}i[a>>2]=0}L=g+32|0}function lb(a){var b=0,c=0,d=0,e=0;d=i[a+128>>2];if(d){b=i[a+132>>2];c=d;a:{if((d|0)==(b|0)){break a}while(1){c=b+ -12|0;e=i[c>>2];if(e){i[b+ -8>>2]=e;qn(e)}b=c;if((b|0)!=(d|0)){continue}break}c=i[a+128>>2]}i[a+132>>2]=d;qn(c)}d=i[a+116>>2];if(d){b=i[a+120>>2];c=d;b:{if((d|0)==(b|0)){break b}while(1){c=b+ -12|0;e=i[c>>2];if(e){i[b+ -8>>2]=e;qn(e)}b=c;if((b|0)!=(d|0)){continue}break}c=i[a+116>>2]}i[a+120>>2]=d;qn(c)}b=i[a+104>>2];if(b){i[a+108>>2]=b;qn(b)}b=i[a+92>>2];if(b){i[a+96>>2]=b;qn(b)}ye(a+72|0);ye(a+52|0);ye(a+32|0)}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=i[a+60>>2];a:{if(!c){break a}i[c+4>>2]=a+48;if(!(O[i[i[c>>2]+12>>2]](c)|0)){break a}b:{d=O[i[i[a>>2]+24>>2]](a)|0;if((d|0)<1){break b}c=0;while(1){c:{f=i[(O[i[i[a>>2]+28>>2]](a)|0)+4>>2];g=O[i[i[a>>2]+20>>2]](a,c)|0;e=i[a+60>>2];if(!(O[i[i[e>>2]+8>>2]](e,i[i[f+8>>2]+(g<<2)>>2])|0)){break c}c=c+1|0;if((d|0)!=(c|0)){continue}break b}break}return 0}if(!(O[i[i[a>>2]+36>>2]](a,b)|0)){break a}if(!(O[i[i[a>>2]+40>>2]](a,b)|0)){break a}h=O[i[i[a>>2]+44>>2]](a)|0}return h|0}function yl(a,b,c){var d=0,e=0,f=0;a:{if(b>>>0<=63){b=0;d=i[a+12>>2];if(d>>>0<2){break a}c=i[c>>2];a=1;while(1){b=l[c+(b<<2)>>2]>l[c+(a<<2)>>2]?a:b;a=a+1|0;if((d|0)!=(a|0)){continue}break}break a}b=i[a+580>>2];d=32-b|0;if((d|0)>=4){c=i[a+576>>2];if((c|0)==i[a+568>>2]){return 0}d=i[c>>2];e=b+4|0;i[a+580>>2]=e;b=d<>>28|0;if((e|0)!=32){break a}i[a+580>>2]=0;i[a+576>>2]=c+4;return b}c=i[a+576>>2];e=c+4|0;if((e|0)==i[a+568>>2]){return 0}f=i[c>>2];i[a+576>>2]=e;i[a+580>>2]=b+ -28;a=60-b|0;b=i[c+4>>2]>>>a|f<>>a-d}return b}function zh(a,b,c,d){var e=0,f=0,g=0;a:{if(!b){if((d|0)<0?1:(d|0)<=0?c>>>0<0:0){return 0}d=i[a>>2];b=i[a+4>>2]-d|0;if(b>>>0>>0){tb(a,c-b|0);break a}if(b>>>0<=c>>>0){break a}i[a+4>>2]=c+d;break a}if((d|0)<0?1:(d|0)<=0?c>>>0<0:0){return 0}e=c;g=i[a>>2];f=i[a+4>>2]-g|0;b:{c:{if(0>(d|0)?1:0>=(d|0)?f>>>0>=c>>>0:0){break c}if(f>>>0>>0){tb(a,e-f|0);break b}if(f>>>0<=e>>>0){break c}i[a+4>>2]=e+g}if(!e){break a}}un(i[a>>2],b,e)}b=a+24|0;c=b;d=b;a=i[b+4>>2];b=i[b>>2]+1|0;if(b>>>0<1){a=a+1|0}i[d>>2]=b;i[c+4>>2]=a;return 1}function ln(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(cn(a,i[b+8>>2],e)){kn(b,c,d);return}a:{if(cn(a,i[b>>2],e)){if(!(i[b+20>>2]!=(c|0)?i[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}i[b+32>>2]=1;return}i[b+32>>2]=d;b:{if(i[b+44>>2]==4){break b}h[b+52>>1]=0;a=i[a+8>>2];O[i[i[a>>2]+20>>2]](a,b,c,c,1,e);if(j[b+53|0]){i[b+44>>2]=3;if(!j[b+52|0]){break b}break a}i[b+44>>2]=4}i[b+20>>2]=c;i[b+40>>2]=i[b+40>>2]+1;if(i[b+36>>2]!=1|i[b+24>>2]!=2){break a}g[b+54|0]=1;return}a=i[a+8>>2];O[i[i[a>>2]+24>>2]](a,b,c,d,e)}}function Gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=i[a+216>>2];if((c|0)!=i[a+220>>2]){while(1){a:{c=i[o(e,144)+c>>2];if((c|0)<0){break a}f=i[a+4>>2];d=i[f+8>>2];if((c|0)>=i[f+12>>2]-d>>2){break a}c=i[d+(c<<2)>>2];if((O[i[i[c>>2]+24>>2]](c)|0)<1){break a}d=0;while(1){if((O[i[i[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((d|0)<(O[i[i[c>>2]+24>>2]](c)|0)){continue}break a}break}a=i[a+216>>2]+o(e,144)|0;return(j[a+100|0]?a+4|0:0)|0}e=e+1|0;c=i[a+216>>2];if(e>>>0<(i[a+220>>2]-c|0)/144>>>0){continue}break}}return 0}function Sc(a,b){var c=0,d=0;c=L-32|0;L=c;a:{b:{if(i[a+8>>2]<<5>>>0>=b>>>0){break b}i[c+24>>2]=0;i[c+16>>2]=0;i[c+20>>2]=0;if((b|0)<=-1){break a}b=(b+ -1>>>5|0)+1|0;d=Gm(b<<2);i[c+24>>2]=b;i[c+20>>2]=0;i[c+16>>2]=d;b=i[a>>2];i[c+12>>2]=0;i[c+8>>2]=b;d=i[a+4>>2];i[c+4>>2]=d&31;i[c>>2]=b+(d>>>3&536870908);Tc(c+16|0,c+8|0,c);b=i[a>>2];i[a>>2]=i[c+16>>2];i[c+16>>2]=b;d=i[a+4>>2];i[a+4>>2]=i[c+20>>2];i[c+20>>2]=d;d=i[a+8>>2];i[a+8>>2]=i[c+24>>2];i[c+24>>2]=d;if(!b){break b}qn(b)}L=c+32|0;return}Vm();x()}function Hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=i[a+216>>2];if((c|0)!=i[a+220>>2]){while(1){a:{c=i[o(e,144)+c>>2];if((c|0)<0){break a}f=i[a+4>>2];d=i[f+8>>2];if((c|0)>=i[f+12>>2]-d>>2){break a}c=i[d+(c<<2)>>2];if((O[i[i[c>>2]+24>>2]](c)|0)<1){break a}d=0;while(1){if((O[i[i[c>>2]+20>>2]](c,d)|0)!=(b|0)){d=d+1|0;if((d|0)<(O[i[i[c>>2]+24>>2]](c)|0)){continue}break a}break}return(i[a+216>>2]+o(e,144)|0)+104|0}e=e+1|0;c=i[a+216>>2];if(e>>>0<(i[a+220>>2]-c|0)/144>>>0){continue}break}}return a+184|0}function Hb(a,b,c,d){var e=0,f=0,g=0,h=p(0),k=0,l=0,n=0;e=L-32|0;L=e;f=i[c>>2];h=m[c+4>>2];l=Mh(e+24|0);f=-1<>2];if((c|0)!=i[b>>2]){a=i[d+28>>2];while(1){g=i[c>>2];k=i[c+4>>2];h=m[l>>2];m[e+16>>2]=h*p(i[c+8>>2]-f|0);m[e+12>>2]=h*p(k-f|0);m[e+8>>2]=h*p(g-f|0);k=i[d+16>>2];g=i[k>>2];if(!j[g+84|0]){a=i[i[g+68>>2]+(a<<2)>>2]}n=a;a=i[g+40>>2];sn(i[i[g>>2]>>2]+o(n,a)|0,(e+8|0)+(i[k+4>>2]<<2)|0,a);a=i[d+28>>2]+1|0;i[d+28>>2]=a;c=c+12|0;if((c|0)!=i[b>>2]){continue}break}}L=e+32|0}function vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=Gm(72);cb(f);a:{if((b|0)>=0){g=a+8|0;c=i[a+12>>2];h=i[a+8>>2];d=c-h>>2;b:{if((d|0)>(b|0)){break b}e=b+1|0;if(d>>>0<=b>>>0){Mf(g,e-d|0);break b}if(e>>>0>=d>>>0){break b}e=h+(e<<2)|0;if((e|0)!=(c|0)){while(1){c=c+ -4|0;d=i[c>>2];i[c>>2]=0;if(d){O[i[i[d>>2]+4>>2]](d)}if((c|0)!=(e|0)){continue}break}}i[a+12>>2]=e}c=i[g>>2]+(b<<2)|0;a=i[c>>2];i[c>>2]=f;if(!a){break a}O[i[i[a>>2]+4>>2]](a);break a}O[i[i[f>>2]+4>>2]](f)}return(b^-1)>>>31|0}function jl(a,b,c){var d=0,e=0,f=0,h=0;d=L-48|0;L=d;f=Kh(a,b);if((f|0)!=(a+4|0)){dl(a,f)}f=0;i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;h=i[c>>2];e=i[c+4>>2]-h|0;if(e){tb(d,e);h=i[c>>2];c=i[d>>2]}else{c=0}sn(c,h,e);h=Jm(d+16|0,b);i[d+36>>2]=0;i[d+28>>2]=0;i[d+32>>2]=0;b=i[d+4>>2];c=i[d>>2];e=b-c|0;if(e){tb(d+28|0,e);c=i[d>>2];f=i[d+28>>2];b=i[d+4>>2]}sn(f,c,b-c|0);el(d+40|0,a,h,d+16|0);a=i[d+28>>2];if(a){i[d+32>>2]=a;qn(a)}if(g[d+27|0]<=-1){qn(i[d+16>>2])}a=i[d>>2];if(a){i[d+4>>2]=a;qn(a)}L=d+48|0}function Xb(a){var b=0,c=0,d=0,e=0,f=0;b=i[a+8>>2];a:{if(j[b+84|0]){break a}c=i[a+16>>2];if(!c|!j[c+84|0]){break a}d=i[b+72>>2];e=i[b+68>>2];g[c+84|0]=0;d=d-e>>2;f=i[c+68>>2];e=i[c+72>>2]-f>>2;b:{if(d>>>0>e>>>0){Yb(c+68|0,d-e|0,1968);b=i[a+8>>2];break b}if(d>>>0>=e>>>0){break b}i[c+72>>2]=f+(d<<2)}if(j[b+84|0]){break a}c=i[b+68>>2];b=i[b+72>>2]-c|0;if(!b){break a}d=b>>2;e=i[i[a+16>>2]+68>>2];b=0;while(1){f=b<<2;i[f+e>>2]=i[c+f>>2];b=b+1|0;if(b>>>0>>0){continue}break}}return i[a+16>>2]}function ki(a,b,c){var d=0,e=0,f=0,h=0,j=0;d=L-32|0;L=d;f=g[a+24|0];e=i[3527];i[d+24>>2]=i[3526];i[d+28>>2]=e;e=i[3525];i[d+16>>2]=i[3524];i[d+20>>2]=e;a:{e=bd(a,b,f,d+16|0);if(e){i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;a=0;if(f){if((f|0)<=-1){break a}b=f<<2;a=Gm(b);i[d>>2]=a;h=(f<<2)+a|0;i[d+8>>2]=h;sn(a,d+16|0,b);i[d+4>>2]=h;j=h}b=i[c>>2];if(b){i[c+4>>2]=b;qn(b);i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0;h=i[d+8>>2];j=i[d+4>>2];a=i[d>>2]}i[c+8>>2]=h;i[c+4>>2]=j;i[c>>2]=a}L=d+32|0;return e}Vm();x()}function vb(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0;i[a+8>>2]=0;i[a>>2]=0;i[a+4>>2]=0;a:{b:{if(b){if(b>>>0>=357913942){break b}d=o(b,12);b=Gm(d);i[a>>2]=b;i[a+4>>2]=b;f=b+d|0;i[a+8>>2]=f;h=i[c+4>>2];while(1){i[b+8>>2]=0;i[b>>2]=0;i[b+4>>2]=0;d=h-i[c>>2]|0;if(d){e=d>>2;if(e>>>0>=1073741824){break a}d=Gm(d);i[b+4>>2]=d;i[b>>2]=d;i[b+8>>2]=d+(e<<2);e=b;j=i[c>>2];g=h-j|0;if((g|0)>=1){d=sn(d,j,g)+g|0}i[e+4>>2]=d}b=b+12|0;if((f|0)!=(b|0)){continue}break}i[a+4>>2]=f}return}Vm();x()}Vm();x()}function kl(a,b,c){var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=L-16|0;L=e;f=a+12|0;j=Kh(f,b);k=a+16|0;a:{if((j|0)!=(k|0)){break a}g=Re(f,e+12|0,b);d=i[g>>2];if(!d){d=Gm(32);Jm(d+16|0,b);i[d+28>>2]=0;i[d+8>>2]=i[e+12>>2];i[d>>2]=0;i[d+4>>2]=0;i[g>>2]=d;b=i[i[f>>2]>>2];h=d;b:{if(!b){break b}i[f>>2]=b;h=i[g>>2]}b=h;Oe(i[a+16>>2],b);a=a+20|0;i[a>>2]=i[a>>2]+1}b=i[c>>2];i[c>>2]=0;c=d+28|0;a=i[c>>2];i[c>>2]=b;if(!a){break a}sh(a+12|0,i[a+16>>2]);th(a,i[a+4>>2]);qn(a)}L=e+16|0;return(j|0)==(k|0)}function Mk(a){a=a|0;var b=0,c=0,d=0,e=0;i[a>>2]=14760;b=i[a+68>>2];if(b){i[a+72>>2]=b;qn(b)}b=i[a+56>>2];if(b){i[a+60>>2]=b;qn(b)}b=i[a+44>>2];if(b){i[a+48>>2]=b;qn(b)}b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}b=i[a+20>>2];if(b){i[a+24>>2]=b;qn(b)}d=i[a+8>>2];if(d){b=d;c=i[a+12>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;if(b){Ua(b)}if((c|0)!=(d|0)){continue}break}e=i[a+8>>2]}b=e;i[a+12>>2]=d;qn(b)}b=i[a+4>>2];i[a+4>>2]=0;if(b){nh(b)}return a|0}function ag(a){var b=0,c=0,d=0,e=0;c=1;d=i[a+140>>2];a:{if((d|0)<1){break a}b=d<<4;c=Gm((d|0)!=(d&268435455)?-1:b|4);i[c>>2]=d;c=c+4|0;d=c+b|0;b=c;while(1){b=Be(b)+16|0;if((d|0)!=(b|0)){continue}break}e=i[a+136>>2];i[a+136>>2]=c;if(e){d=e+ -4|0;c=i[d>>2];if(c){b=e+(c<<4)|0;while(1){b=b+ -16|0;if((e|0)!=(b|0)){continue}break}}qn(d)}c=1;if(i[a+140>>2]<1){break a}b=0;while(1){c=Ce(i[a+136>>2]+(b<<4)|0,a);if(!c){break a}b=b+1|0;if((b|0)>2]){continue}break}}return c}function xa(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0;d=L-16|0;L=d;e=i[a+4>>2];a:{if((e|0)==-1){break a}c=e;f=d;b:{h=i[b+20>>2];if((h|0)<0?1:(h|0)<=0?l[b+16>>2]<=0:0){ha(b,i[b+4>>2],i[a+8>>2],i[a+12>>2]);c=i[b+20>>2];if((c|0)<0?1:(c|0)<=0?l[b+16>>2]<1:0){break b}c=i[a+4>>2]}g[f+15|0]=c;break a}c=a+20|0;ha(b,i[b+4>>2],c,c+4|0);c=i[b+20>>2];f=i[b+16>>2];g[d+15|0]=i[a+4>>2];if((c|0)>0?1:(c|0)>=0?f>>>0>0:0){break a}ha(b,i[b+4>>2],d+15|0,d+16|0)}L=d+16|0;return(e|0)!=-1|0}function Rh(a,b,c){var d=0,e=0,f=0,h=0;d=L-32|0;L=d;e=An(b);if(e>>>0<4294967280){a:{b:{if(e>>>0>=11){h=e+16&-16;f=Gm(h);i[d+24>>2]=h|-2147483648;i[d+16>>2]=f;i[d+20>>2]=e;break b}g[d+27|0]=e;f=d+16|0;if(!e){break a}}sn(f,b,e)}g[e+f|0]=0;i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;gl(a,d+16|0,d);a=i[c>>2];if(a){i[c+4>>2]=a;qn(a);i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0}i[c>>2]=i[d>>2];i[c+4>>2]=i[d+4>>2];i[c+8>>2]=i[d+8>>2];if(g[d+27|0]<=-1){qn(i[d+16>>2])}L=d+32|0;return}Im();x()}function gi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=i[a>>2];a=i[e+4>>2];d=i[e+8>>2];if(a>>>0>>0){i[a>>2]=i[b>>2];i[e+4>>2]=a+4;return}a:{f=i[e>>2];g=a-f|0;a=g>>2;c=a+1|0;if(c>>>0<1073741824){h=a<<2;d=d-f|0;a=d>>1;c=d>>2>>>0<536870911?a>>>0>>0?c:a:1073741823;a=0;b:{if(!c){break b}if(c>>>0>=1073741824){break a}a=Gm(c<<2)}d=h+a|0;i[d>>2]=i[b>>2];b=a+(c<<2)|0;c=d+4|0;if((g|0)>=1){sn(a,f,g)}i[e+8>>2]=b;i[e+4>>2]=c;i[e>>2]=a;if(f){qn(f)}return}Vm();x()}Da(14112);x()}function Mb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a=i[a+4>>2];if(a){c=j[b+11|0];d=c<<24>>24<0;g=d?i[b>>2]:b;b=d?i[b+4>>2]:c;while(1){c=j[a+27|0];d=c<<24>>24<0;c=d?i[a+20>>2]:c;h=c>>>0>>0;a:{b:{f=h?c:b;c:{if(f){e=a+16|0;d=d?i[e>>2]:e;e=Pl(g,d,f);d:{if(!e){if(b>>>0>=c>>>0){break d}break a}if((e|0)<=-1){break a}}c=Pl(d,g,f);if(!c){break c}if((c|0)<=-1){break b}return 1}if(b>>>0>>0){break a}}if(h){break b}return 1}a=a+4|0}a=i[a>>2];if(a){continue}break}}return 0}function jh(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=i[a+8>>2];c=i[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=tn(c,0,b)+b|0}i[a+4>>2]=c;return}a:{f=i[a>>2];h=c-f|0;g=h>>2;d=g+b|0;if(d>>>0<1073741824){c=0;g=g<<2;e=e-f|0;j=e>>1;d=e>>2>>>0<536870911?j>>>0>>0?d:j:1073741823;if(d){if(d>>>0>=1073741824){break a}c=Gm(d<<2)}b=b<<2;b=tn(c+g|0,0,b)+b|0;d=(d<<2)+c|0;if((h|0)>=1){sn(c,f,h)}i[a+8>>2]=d;i[a+4>>2]=b;i[a>>2]=c;if(f){qn(f)}return}Vm();x()}Da(13352);x()}function Bk(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=i[a+8>>2];c=i[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=tn(c,0,b)+b|0}i[a+4>>2]=c;return}a:{f=i[a>>2];h=c-f|0;g=h>>2;d=g+b|0;if(d>>>0<1073741824){c=0;g=g<<2;e=e-f|0;j=e>>1;d=e>>2>>>0<536870911?j>>>0>>0?d:j:1073741823;if(d){if(d>>>0>=1073741824){break a}c=Gm(d<<2)}b=b<<2;b=tn(c+g|0,0,b)+b|0;d=(d<<2)+c|0;if((h|0)>=1){sn(c,f,h)}i[a+8>>2]=d;i[a+4>>2]=b;i[a>>2]=c;if(f){qn(f)}return}Vm();x()}Da(14288);x()}function Ae(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=i[a+8>>2];c=i[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=tn(c,0,b)+b|0}i[a+4>>2]=c;return}a:{f=i[a>>2];h=c-f|0;g=h>>2;d=g+b|0;if(d>>>0<1073741824){c=0;g=g<<2;e=e-f|0;j=e>>1;d=e>>2>>>0<536870911?j>>>0>>0?d:j:1073741823;if(d){if(d>>>0>=1073741824){break a}c=Gm(d<<2)}b=b<<2;b=tn(c+g|0,0,b)+b|0;d=(d<<2)+c|0;if((h|0)>=1){sn(c,f,h)}i[a+8>>2]=d;i[a+4>>2]=b;i[a>>2]=c;if(f){qn(f)}return}Vm();x()}Da(10988);x()}function pa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=i[a+8>>2];c=i[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=tn(c,0,b)+b|0}i[a+4>>2]=c;return}a:{f=i[a>>2];h=c-f|0;g=h>>2;d=g+b|0;if(d>>>0<1073741824){c=0;g=g<<2;e=e-f|0;j=e>>1;d=e>>2>>>0<536870911?j>>>0>>0?d:j:1073741823;if(d){if(d>>>0>=1073741824){break a}c=Gm(d<<2)}b=b<<2;b=tn(c+g|0,0,b)+b|0;d=(d<<2)+c|0;if((h|0)>=1){sn(c,f,h)}i[a+8>>2]=d;i[a+4>>2]=b;i[a>>2]=c;if(f){qn(f)}return}Vm();x()}Da(1244);x()}function Ta(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=i[a+8>>2];c=i[a+4>>2];if(e-c>>2>>>0>=b>>>0){if(b){b=b<<2;c=tn(c,0,b)+b|0}i[a+4>>2]=c;return}a:{f=i[a>>2];h=c-f|0;g=h>>2;d=g+b|0;if(d>>>0<1073741824){c=0;g=g<<2;e=e-f|0;j=e>>1;d=e>>2>>>0<536870911?j>>>0>>0?d:j:1073741823;if(d){if(d>>>0>=1073741824){break a}c=Gm(d<<2)}b=b<<2;b=tn(c+g|0,0,b)+b|0;d=(d<<2)+c|0;if((h|0)>=1){sn(c,f,h)}i[a+8>>2]=d;i[a+4>>2]=b;i[a>>2]=c;if(f){qn(f)}return}Vm();x()}Da(1496);x()}function ai(a,b){var c=0,d=0,e=0,f=0;c=L-32|0;L=c;d=An(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){f=d+16&-16;e=Gm(f);i[c+24>>2]=f|-2147483648;i[c+16>>2]=e;i[c+20>>2]=d;break b}g[c+27|0]=d;e=c+16|0;if(!d){break a}}sn(e,b,d)}g[d+e|0]=0;g[c+4|0]=0;i[c>>2]=1701667182;g[c+11|0]=4;d=i[a+4>>2];b=-1;c:{if(!d){break c}d=al(d,c,c+16|0);b=-1;if(!d){break c}b=ql(a,i[d+24>>2])}if(g[c+11|0]<=-1){qn(i[c>>2])}if(g[c+27|0]<=-1){qn(i[c+16>>2])}L=c+32|0;return b}Im();x()}function bg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=i[a+4>>2];e=i[a+8>>2];if((c|0)!=(e|0)){i[c>>2]=i[b>>2];i[a+4>>2]=c+4;return}a:{f=i[a>>2];g=c-f|0;c=g>>2;d=c+1|0;if(d>>>0<1073741824){h=c<<2;e=e-f|0;c=e>>1;d=e>>2>>>0<536870911?c>>>0>>0?d:c:1073741823;c=0;b:{if(!d){break b}if(d>>>0>=1073741824){break a}c=Gm(d<<2)}e=h+c|0;i[e>>2]=i[b>>2];b=c+(d<<2)|0;d=e+4|0;if((g|0)>=1){sn(c,f,g)}i[a+8>>2]=b;i[a+4>>2]=d;i[a>>2]=c;if(f){qn(f)}return}Vm();x()}Da(12220);x()}function Kg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=i[a+4>>2];a=i[e+4>>2];d=i[e+8>>2];if((a|0)!=(d|0)){i[a>>2]=b;i[e+4>>2]=a+4;return}a:{f=i[e>>2];g=a-f|0;a=g>>2;c=a+1|0;if(c>>>0<1073741824){h=a<<2;d=d-f|0;a=d>>1;c=d>>2>>>0<536870911?a>>>0>>0?c:a:1073741823;a=0;b:{if(!c){break b}if(c>>>0>=1073741824){break a}a=Gm(c<<2)}d=h+a|0;i[d>>2]=b;b=a+(c<<2)|0;c=d+4|0;if((g|0)>=1){sn(a,f,g)}i[e+8>>2]=b;i[e+4>>2]=c;i[e>>2]=a;if(f){qn(f)}return}Vm();x()}Da(12220);x()}function Hk(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=i[a+4>>2];e=i[a+8>>2];if((c|0)!=(e|0)){i[c>>2]=i[b>>2];i[a+4>>2]=c+4;return}a:{f=i[a>>2];g=c-f|0;c=g>>2;d=c+1|0;if(d>>>0<1073741824){h=c<<2;e=e-f|0;c=e>>1;d=e>>2>>>0<536870911?c>>>0>>0?d:c:1073741823;c=0;b:{if(!d){break b}if(d>>>0>=1073741824){break a}c=Gm(d<<2)}e=h+c|0;i[e>>2]=i[b>>2];b=c+(d<<2)|0;d=e+4|0;if((g|0)>=1){sn(c,f,g)}i[a+8>>2]=b;i[a+4>>2]=d;i[a>>2]=c;if(f){qn(f)}return}Vm();x()}Da(14288);x()}function jc(a){a=a|0;var b=0,c=0,d=0,e=0;i[a>>2]=2048;b=i[a+60>>2];i[a+60>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}d=i[a+36>>2];if(d){b=d;c=i[a+40>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=i[a+36>>2]}b=e;i[a+40>>2]=d;qn(b)}i[a>>2]=1360;b=i[a+16>>2];if(b){i[a+20>>2]=b;qn(b)}b=i[a+4>>2];if(b){i[a+8>>2]=b;qn(b)}return a|0}function Tl(a,b){a:{if(a){if(b>>>0<=127){break a}b:{if(!i[i[4224]>>2]){if((b&-128)==57216){break a}break b}if(b>>>0<=2047){g[a+1|0]=b&63|128;g[a|0]=b>>>6|192;return 2}if(!((b&-8192)!=57344?b>>>0>=55296:0)){g[a+2|0]=b&63|128;g[a|0]=b>>>12|224;g[a+1|0]=b>>>6&63|128;return 3}if(b+ -65536>>>0<=1048575){g[a+3|0]=b&63|128;g[a|0]=b>>>18|240;g[a+2|0]=b>>>6&63|128;g[a+1|0]=b>>>12&63|128;return 4}}i[4312]=25;a=-1}else{a=1}return a}g[a|0]=b;return 1}function kc(a){a=a|0;var b=0,c=0,d=0,e=0;i[a>>2]=2048;b=i[a+60>>2];i[a+60>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}d=i[a+36>>2];if(d){b=d;c=i[a+40>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=i[a+36>>2]}b=e;i[a+40>>2]=d;qn(b)}i[a>>2]=1360;b=i[a+16>>2];if(b){i[a+20>>2]=b;qn(b)}b=i[a+4>>2];if(b){i[a+8>>2]=b;qn(b)}qn(a)}function zk(a,b){var c=0,d=0,e=0;d=L-16|0;L=d;e=Gm(88);c=e;i[c>>2]=0;i[c+4>>2]=0;i[c+64>>2]=0;i[c+68>>2]=0;i[c+56>>2]=0;i[c+48>>2]=0;i[c+52>>2]=0;i[c+40>>2]=0;i[c+44>>2]=0;i[c+32>>2]=0;i[c+36>>2]=0;i[c+24>>2]=0;i[c+28>>2]=0;i[c+16>>2]=0;i[c+20>>2]=0;i[c+8>>2]=0;i[c+12>>2]=0;i[c+72>>2]=0;i[c+76>>2]=0;i[c+80>>2]=0;i[c+84>>2]=0;i[c+60>>2]=c;i[d+8>>2]=c;a:{if(Ak(c,b)){i[a>>2]=e;i[d+8>>2]=0;break a}i[a>>2]=0;i[d+8>>2]=0;Sf(d+8|0,e)}L=d+16|0}function wg(a){var b=0,c=0,d=0,e=0;b=i[a+196>>2];if(b){i[a+200>>2]=b;qn(b)}b=i[a+184>>2];if(b){c=i[a+188>>2];d=b;a:{if((b|0)==(c|0)){break a}while(1){d=c+ -12|0;e=i[d>>2];if(e){i[c+ -8>>2]=e;qn(e)}c=d;if((c|0)!=(b|0)){continue}break}d=i[a+184>>2]}i[a+188>>2]=b;qn(d)}b=i[a+156>>2];if(b){i[a+160>>2]=b;qn(b)}b=i[a+136>>2];i[a+136>>2]=0;if(b){c=b+ -4|0;a=i[c>>2];if(a){a=b+(a<<4)|0;while(1){a=a+ -16|0;if((b|0)!=(a|0)){continue}break}}qn(c)}}function ef(a,b,c){var d=0,e=0,f=0,h=0,j=0,k=0;a:{if(a>>>0>10){break a}f=i[c+16>>2];d=i[c+12>>2];e=i[c+20>>2];h=e;if((d|0)<(h|0)?1:(d|0)<=(h|0)?l[c+8>>2]<=f>>>0:0){break a}j=g[f+i[c>>2]|0];d=f+1|0;if(d>>>0<1){e=e+1|0}i[c+16>>2]=d;i[c+20>>2]=e;h=b;f=b;d=j;b:{if((d|0)<=-1){if(!ef(a+1|0,b,c)){break a}a=b;c=i[b+4>>2];b=i[b>>2];e=c<<7|b>>>25;b=b<<7;i[a>>2]=b;i[a+4>>2]=e;a=d&127|b;break b}e=0;a=d&255}i[f>>2]=a;i[h+4>>2]=e;k=1}return k}function Fh(a,b,c){var d=0,e=0,f=0,h=0,j=0,k=0;a:{if(a>>>0>10){break a}f=i[c+16>>2];d=i[c+12>>2];e=i[c+20>>2];h=e;if((d|0)<(h|0)?1:(d|0)<=(h|0)?l[c+8>>2]<=f>>>0:0){break a}j=g[f+i[c>>2]|0];d=f+1|0;if(d>>>0<1){e=e+1|0}i[c+16>>2]=d;i[c+20>>2]=e;h=b;f=b;d=j;b:{if((d|0)<=-1){if(!Fh(a+1|0,b,c)){break a}a=b;c=i[b+4>>2];b=i[b>>2];e=c<<7|b>>>25;b=b<<7;i[a>>2]=b;i[a+4>>2]=e;a=d&127|b;break b}e=0;a=d&255}i[f>>2]=a;i[h+4>>2]=e;k=1}return k}function ri(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=i[a+8>>2];c=i[a+4>>2];if(e-c>>1>>>0>=b>>>0){if(b){b=b<<1;c=tn(c,0,b)+b|0}i[a+4>>2]=c;return}a:{f=i[a>>2];g=c-f|0;h=g>>1;d=h+b|0;if((d|0)>-1){c=0;e=e-f|0;d=e>>1>>>0<1073741823?e>>>0>>0?d:e:2147483647;if(d){if((d|0)<=-1){break a}c=Gm(d<<1)}b=b<<1;b=tn((h<<1)+c|0,0,b)+b|0;d=(d<<1)+c|0;if((g|0)>=1){sn(c,f,g)}i[a+8>>2]=d;i[a+4>>2]=b;i[a>>2]=c;if(f){qn(f)}return}Vm();x()}Da(14112);x()}function Ia(a,b){var c=0;g[a+24|0]=j[b+24|0];i[a+28>>2]=i[b+28>>2];g[a+32|0]=j[b+32|0];c=i[b+44>>2];i[a+40>>2]=i[b+40>>2];i[a+44>>2]=c;c=i[b+52>>2];i[a+48>>2]=i[b+48>>2];i[a+52>>2]=c;i[a+56>>2]=i[b+56>>2];c=i[b+12>>2];i[a+8>>2]=i[b+8>>2];i[a+12>>2]=c;c=i[b+20>>2];i[a+16>>2]=i[b+16>>2];i[a+20>>2]=c;i[a+60>>2]=i[b+60>>2];b=i[b>>2];if(!b){i[a>>2]=0;return 1}a=i[a>>2];if(!a){return 0}c=a;a=i[b>>2];zh(c,a,i[b+4>>2]-a|0,0);return 1}function Gk(a,b,c){var d=0,e=0,f=0;i[a+8>>2]=0;i[a>>2]=0;i[a+4>>2]=0;a:{b:{if(!b){break b}if((b|0)<=-1){break a}e=b+ -1>>>5|0;f=e+1|0;d=Gm(f<<2);i[a+8>>2]=f;i[a>>2]=d;f=j[c|0];i[a+4>>2]=b;i[(b>>>0<33?d:d+(e<<2)|0)>>2]=0;c=b>>>5|0;e=c<<2;if(f){d=tn(d,255,e);b=b&31;if(!b){break b}c=d+(c<<2)|0;i[c>>2]=i[c>>2]|-1>>>32-b;return a}d=tn(d,0,e);b=b&31;if(!b){break b}c=d+(c<<2)|0;i[c>>2]=i[c>>2]&(-1>>>32-b^-1)}return a}Vm();x()}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((O[i[i[b>>2]+20>>2]](b)|0)>=1){while(1){c=nl(i[i[a+4>>2]+4>>2],O[i[i[b>>2]+24>>2]](b,d)|0);if((c|0)==-1){return 0}a:{e=i[a+4>>2];if(j[e+36|0]<=1){if(O[i[i[b>>2]+28>>2]](b,i[i[i[e+4>>2]+8>>2]+(c<<2)>>2])|0){break a}return 0}c=rh(e,c);if(!c){return 0}if(O[i[i[b>>2]+28>>2]](b,c)|0){break a}return 0}d=d+1|0;if((d|0)<(O[i[i[b>>2]+20>>2]](b)|0)){continue}break}}return 1}function Sl(a,b){var c=0;c=(b|0)!=0;a:{b:{c:{if(!b|!(a&3)){break c}while(1){if(!j[a|0]){break b}a=a+1|0;b=b+ -1|0;c=(b|0)!=0;if(!b){break c}if(a&3){continue}break}}if(!c){break a}}d:{if(!j[a|0]|b>>>0<4){break d}while(1){c=i[a>>2];if((c^-1)&c+ -16843009&-2139062144){break d}a=a+4|0;b=b+ -4|0;if(b>>>0>3){continue}break}}if(!b){break a}while(1){if(!j[a|0]){return a}a=a+1|0;b=b+ -1|0;if(b){continue}break}}return 0}function $g(a,b){var c=0,d=0,e=p(0),f=0;c=2;a:{if((b|0)==1){break a}c=b;if(!(b+ -1&b)){break a}c=hm(b)}d=i[a+4>>2];if(c>>>0>d>>>0){ah(a,c);return}b:{if(c>>>0>=d>>>0){break b}f=d>>>0<3;e=p(v(p(p(l[a+12>>2])/m[a+16>>2])));c:{if(e=p(0)){b=~~e>>>0;break c}b=0}d:{e:{if(f){break e}if(Mn(d)>>>0>1){break e}b=b>>>0<2?b:1<<32-r(b+ -1|0);break d}b=hm(b)}b=c>>>0>>0?b:c;if(b>>>0>=d>>>0){break b}ah(a,b)}}function ih(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;a:{b=i[a+8>>2];b:{if((b|0)<0){break b}c=i[a+4>>2];e=i[c>>2];d=i[c+4>>2]-e>>2;c:{if(b>>>0>d>>>0){jh(c,b-d|0);f=i[a+8>>2];break c}f=b;if(b>>>0>=d>>>0){break c}i[c+4>>2]=e+(b<<2);f=b}d=f;if((d|0)<1){break b}a=i[a+4>>2];c=i[a>>2];e=i[a+4>>2]-c>>2;a=0;while(1){if((a|0)==(e|0)){break a}i[c+(a<<2)>>2]=a;a=a+1|0;if((a|0)<(d|0)){continue}break}}return(b^-1)>>>31|0}Wm();x()}function Jh(a,b){var c=0,d=0,e=0,f=0;d=L-16|0;L=d;Tm(d);e=Re(a,d+12|0,b);c=i[e>>2];if(!c){c=Gm(40);Jm(c+16|0,b);i[c+36>>2]=0;i[c+28>>2]=0;i[c+32>>2]=0;i[c+8>>2]=i[d+12>>2];i[c>>2]=0;i[c+4>>2]=0;i[e>>2]=c;b=i[i[a>>2]>>2];f=c;a:{if(!b){break a}i[a>>2]=b;f=i[e>>2]}b=f;Oe(i[a+4>>2],b);i[a+8>>2]=i[a+8>>2]+1}a=c+28|0;if(g[c+39|0]<=-1){qn(i[a>>2])}b=i[d+4>>2];i[a>>2]=i[d>>2];i[a+4>>2]=b;i[a+8>>2]=i[d+8>>2];L=d+16|0}function _f(a,b){var c=0,d=0,e=0,f=0;d=i[a+12>>2];c=i[a+16>>2]-d>>2;a:{if(c>>>0>>0){Ta(a+12|0,b-c|0);break a}if(c>>>0<=b>>>0){break a}i[a+16>>2]=d+(b<<2)}b:{c=i[a>>2];c:{if(i[a+8>>2]-c>>2>>>0>=b>>>0){break c}if(b>>>0>=1073741824){break b}d=i[a+4>>2];e=b<<2;b=Gm(e);e=b+e|0;d=d-c|0;f=d+b|0;if((d|0)>=1){sn(b,c,d)}i[a+8>>2]=e;i[a+4>>2]=f;i[a>>2]=b;if(!c){break c}qn(c)}return}Da(12220);x()}function Ab(a){Be(a);Be(a+16|0);Be(a+32|0);Be(a+48|0);Be(a- -64|0);Be(a+80|0);Be(a+96|0);Be(a+112|0);Be(a+128|0);Be(a+144|0);Be(a+160|0);Be(a+176|0);Be(a+192|0);Be(a+208|0);Be(a+224|0);Be(a+240|0);Be(a+256|0);Be(a+272|0);Be(a+288|0);Be(a+304|0);Be(a+320|0);Be(a+336|0);Be(a+352|0);Be(a+368|0);Be(a+384|0);Be(a+400|0);Be(a+416|0);Be(a+432|0);Be(a+448|0);Be(a+464|0);Be(a+480|0);Be(a+496|0)}function wn(a,b,c){var d=0,e=0,f=0,h=0;d=i[c+16>>2];a:{if(!d){if(vn(c)){break a}d=i[c+16>>2]}f=i[c+20>>2];if(d-f>>>0>>0){return O[i[c+36>>2]](c,a,b)|0}b:{if(g[c+75|0]<0){break b}e=b;while(1){d=e;if(!d){break b}e=d+ -1|0;if(j[e+a|0]!=10){continue}break}e=O[i[c+36>>2]](c,a,d)|0;if(e>>>0>>0){break a}a=a+d|0;b=b-d|0;f=i[c+20>>2];h=d}sn(f,a,b);i[c+20>>2]=i[c+20>>2]+b;e=b+h|0}return e}function Cg(a,b){var c=0,d=0,e=0;a:{if((a|0)!=(b|0)){e=a;c=i[b+4>>2];d=0;b:{if(!c){break b}c:{if(c>>>0<=i[a+8>>2]<<5>>>0){d=i[a>>2];break c}d=i[a>>2];if(d){qn(d);i[a+8>>2]=0;i[a>>2]=0;i[a+4>>2]=0;c=i[b+4>>2]}if((c|0)<=-1){break a}c=(c+ -1>>>5|0)+1|0;d=Gm(c<<2);i[a+8>>2]=c;i[a+4>>2]=0;i[a>>2]=d;c=i[b+4>>2]}un(d,i[b>>2],(c+ -1>>>3&536870908)+4|0);d=i[b+4>>2]}i[e+4>>2]=d}return}Vm();x()}function gl(a,b,c){var d=0,e=0,f=0;a:{b=Kh(a,b);b:{if((b|0)==(a+4|0)){break b}a=i[b+28>>2];d=i[b+32>>2];if((a|0)==(d|0)){break b}a=d-a|0;if(a&3){break b}d=a>>>2|0;e=i[c+4>>2];a=i[c>>2];f=e-a>>2;c:{if(d>>>0>f>>>0){Ta(c,d-f|0);a=i[c>>2];e=i[c+4>>2];break c}if(d>>>0>=f>>>0){break c}e=(d<<2)+a|0;i[c+4>>2]=e}if((a|0)==(e|0)){break a}c=a;a=i[b+28>>2];sn(c,a,i[b+32>>2]-a|0)}return}Wm();x()}function Nf(a,b){var c=0;c=i[b+8>>2];i[a+12>>2]=i[b+4>>2];i[a+16>>2]=c;i[a+28>>2]=i[b+20>>2];c=i[b+16>>2];i[a+20>>2]=i[b+12>>2];i[a+24>>2]=c;Cg(a+32|0,b+24|0);Cg(a+44|0,b+36|0);if((a+8|0)==(b|0)){i[a+92>>2]=i[b+84>>2];return}Oa(a+56|0,i[b+48>>2],i[b+52>>2]);Oa(a+68|0,i[b+60>>2],i[b- -64>>2]);Oa(a+80|0,i[b+72>>2],i[b+76>>2]);i[a+92>>2]=i[b+84>>2];wa(a+96|0,i[b+88>>2],i[b+92>>2])}function dl(a,b){var c=0,d=0,e=0;c=i[b+4>>2];a:{if(!c){d=i[b+8>>2];if(i[d>>2]==(b|0)){break a}e=b+8|0;while(1){c=i[e>>2];e=c+8|0;d=i[c+8>>2];if((c|0)!=i[d>>2]){continue}break}break a}while(1){d=c;c=i[c>>2];if(c){continue}break}}if(i[a>>2]==(b|0)){i[a>>2]=d}i[a+8>>2]=i[a+8>>2]+ -1;ll(i[a+4>>2],b);a=i[b+28>>2];if(a){i[b+32>>2]=a;qn(a)}if(g[b+27|0]<=-1){qn(i[b+16>>2])}qn(b)}function zf(a){a=a|0;var b=0,c=0,d=0,e=0;i[a>>2]=11360;b=i[a+48>>2];i[a+48>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}i[a>>2]=13492;b=i[a+20>>2];if(b){i[a+24>>2]=b;qn(b)}d=i[a+8>>2];if(d){b=d;c=i[a+12>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=i[a+8>>2]}b=e;i[a+12>>2]=d;qn(b)}return a|0}function Af(a){a=a|0;var b=0,c=0,d=0,e=0;i[a>>2]=11360;b=i[a+48>>2];i[a+48>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}i[a>>2]=13492;b=i[a+20>>2];if(b){i[a+24>>2]=b;qn(b)}d=i[a+8>>2];if(d){b=d;c=i[a+12>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=i[a+8>>2]}b=e;i[a+12>>2]=d;qn(b)}qn(a)}function uh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,k=0;d=i[a+32>>2];c=d;e=i[c+8>>2];f=i[c+12>>2];b=i[c+20>>2];h=e;e=i[c+16>>2];c=e+4|0;if(c>>>0<4){b=b+1|0}g=c;c=b;a:{if((f|0)<(b|0)?1:(f|0)<=(b|0)?h>>>0>>0:0){break a}b=e+i[d>>2]|0;b=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[d+16>>2]=g;i[d+20>>2]=c;if((b|0)<0){break a}i[i[a+4>>2]+80>>2]=b;k=1}return k|0}function Sh(a,b){var c=0,d=0,e=0,f=0,h=0;c=L-32|0;L=c;i[c+24>>2]=0;i[c+28>>2]=0;d=An(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){e=d+16&-16;f=Gm(e);i[c+16>>2]=e|-2147483648;i[c+8>>2]=f;i[c+12>>2]=d;e=c+8|0;break b}g[c+19|0]=d;e=c+8|0;f=e;if(!d){break a}}sn(f,b,d)}g[d+f|0]=0;hl(a,c+8|0,c+24|0);h=n[c+24>>3];if(g[e+11|0]<=-1){qn(i[c+8>>2])}L=c+32|0;return h}Im();x()}function Nm(a,b,c,d,e,f,h){var j=0,k=0,l=0;j=L-16|0;L=j;if((b^-1)+ -17>>>0>=c>>>0){k=vm(a);a:{if(2147483623>b>>>0){i[j+8>>2]=b<<1;i[j+12>>2]=b+c;c=Am(i[om(j+12|0,j+8|0)>>2]);break a}c=-18}l=c+1|0;c=Bm(l);if(f){nm(c,h,f)}d=d-e|0;h=d;if(d){nm(c+f|0,e+k|0,h)}if((b|0)!=10){qn(k)}Cm(a,c);Dm(a,l);b=a;a=d+f|0;ym(b,a);g[j+7|0]=0;xm(a+c|0,j+7|0);L=j+16|0;return}Im();x()}function Th(a,b,c){var d=0,e=0,f=0,h=0;d=L-16|0;L=d;e=An(c);if(e>>>0<4294967280){a:{b:{if(e>>>0>=11){h=e+16&-16;f=Gm(h);i[d+8>>2]=h|-2147483648;i[d>>2]=f;i[d+4>>2]=e;break b}g[d+11|0]=e;f=d;if(!e){break a}}sn(f,c,e)}g[e+f|0]=0;a=a+16|0;c=0;c:{if(!il(b,d,a)){break c}c=i[a>>2];if(g[a+11|0]<=-1){break c}c=a}if(g[d+11|0]<=-1){qn(i[d>>2])}L=d+16|0;return c}Im();x()}function tc(a,b,c){var d=0,e=0,f=0,h=0;d=L-80|0;L=d;e=Ga(d+16|0);f=i[i[a+8>>2]+56>>2];h=c<<24>>24;c=o(Hh(5),c);Ha(e,f,h,5,0,c,c>>31);c=Gm(96);e=La(c,e);g[c+84|0]=1;i[c+72>>2]=i[c+68>>2];Ma(e,b);i[d>>2]=0;i[d+8>>2]=0;b=i[a+16>>2];i[a+16>>2]=c;a:{if(!b){i[d>>2]=0;break a}Ua(b);a=i[d>>2];i[d>>2]=0;if(!a){break a}Ua(a)}a=i[d+8>>2];i[d+8>>2]=0;if(a){Ua(a)}L=d+80|0}function wh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=i[a+32>>2];b=d;f=i[b+12>>2];g=i[b+8>>2];h=f;c=i[b+20>>2];b=i[b+16>>2];e=b+4|0;if(e>>>0<4){c=c+1|0}if((h|0)>(c|0)?1:(h|0)>=(c|0)?g>>>0>=e>>>0:0){b=b+i[d>>2]|0;b=j[b|0]|j[b+1|0]<<8|(j[b+2|0]<<16|j[b+3|0]<<24);i[d+16>>2]=e;i[d+20>>2]=c;i[i[a+4>>2]+80>>2]=b}return((f|0)>(c|0)?1:(f|0)>=(c|0)?g>>>0>=e>>>0:0)|0}function tb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=i[a+8>>2];c=i[a+4>>2];if(e-c>>>0>=b>>>0){if(b){c=tn(c,0,b)+b|0}i[a+4>>2]=c;return}f=i[a>>2];g=c-f|0;d=g+b|0;if((d|0)>-1){c=0;e=e-f|0;h=e<<1;d=e>>>0<1073741823?h>>>0>>0?d:h:2147483647;if(d){c=Gm(d)}d=c+d|0;b=tn(c+g|0,0,b)+b|0;if((g|0)>=1){sn(c,f,g)}i[a+8>>2]=d;i[a+4>>2]=b;i[a>>2]=c;if(f){qn(f)}return}Vm();x()}function Fe(a,b,c){var d=0,e=0,f=0,g=0,h=0,k=0;if(!b){i[c>>2]=0;return}g=0-j[a+12|0]&255;e=i[a+8>>2];while(1){h=d<<1;a:{if(e>>>0>4095){break a}d=i[a+4>>2];if((d|0)<1){break a}d=d+ -1|0;i[a+4>>2]=d;e=j[d+i[a>>2]|0]|e<<8;i[a+8>>2]=e}f=e&255;d=f>>>0>>0;k=f;f=o(e>>>8|0,g);e=d?k+f|0:(e-g|0)-f|0;i[a+8>>2]=e;d=d|h;b=b+ -1|0;if(b){continue}break}i[c>>2]=d}function fi(a,b){var c=0,d=0,e=0,f=0;c=L-16|0;L=c;i[a+68>>2]=0;i[a+72>>2]=0;i[a>>2]=b;Vk(c+8|0,b);d=i[c+8>>2];i[c+8>>2]=0;e=i[a+4>>2];i[a+4>>2]=d;a:{if(!e){i[c+8>>2]=0;break a}f=a+4|0;Sf(f,e);d=i[c+8>>2];i[c+8>>2]=0;if(d){Sf(c+8|0,d)}d=i[f>>2]}if(d){e=i[b+100>>2];b=i[b+96>>2];g[c+7|0]=0;Lf(a+56|0,(e-b|0)/12|0,c+7|0)}L=c+16|0;return(d|0)!=0}function jn(a,b,c,d){g[a+53|0]=1;a:{if(i[a+4>>2]!=(c|0)){break a}g[a+52|0]=1;c=i[a+16>>2];if(!c){i[a+36>>2]=1;i[a+24>>2]=d;i[a+16>>2]=b;if((d|0)!=1|i[a+48>>2]!=1){break a}g[a+54|0]=1;return}if((b|0)==(c|0)){c=i[a+24>>2];if((c|0)==2){i[a+24>>2]=d;c=d}if(i[a+48>>2]!=1|(c|0)!=1){break a}g[a+54|0]=1;return}g[a+54|0]=1;i[a+36>>2]=i[a+36>>2]+1}}function dn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=L+ -64|0;L=d;e=1;a:{if(cn(a,b,0)){break a}e=0;if(!b){break a}b=en(b);e=0;if(!b){break a}i[d+20>>2]=-1;i[d+16>>2]=a;i[d+12>>2]=0;i[d+8>>2]=b;tn(d+24|0,0,39);i[d+56>>2]=1;O[i[i[b>>2]+28>>2]](b,d+8|0,i[c>>2],1);a=i[d+32>>2];if((a|0)==1){i[c>>2]=i[d+24>>2]}e=(a|0)==1}a=e;L=d- -64|0;return a|0}function ii(a,b,c){var d=0,e=0,f=0,g=0;a:{if(l[a+80>>2]>65535){break a}f=i[a+96>>2];d=i[a+100>>2]-f|0;a=(d|0)/12|0;e=o(a,6);g=(e|0)==(b|0);if(!d|(b|0)!=(e|0)){break a}g=1;e=a>>>0>1?a:1;a=0;while(1){b=o(a,6)+c|0;d=o(a,12)+f|0;h[b>>1]=i[d>>2];h[b+2>>1]=i[d+4>>2];h[b+4>>1]=i[d+8>>2];a=a+1|0;if((e|0)!=(a|0)){continue}break}}return g}function Qh(a,b){var c=0,d=0,e=0,f=0;c=L-16|0;L=c;i[c+12>>2]=0;d=An(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){e=d+16&-16;f=Gm(e);i[c+8>>2]=e|-2147483648;i[c>>2]=f;i[c+4>>2]=d;e=c;break b}g[c+11|0]=d;e=c;f=c;if(!d){break a}}sn(f,b,d)}g[d+f|0]=0;fl(a,c,c+12|0);a=i[c+12>>2];if(g[e+11|0]<=-1){qn(i[c>>2])}L=c+16|0;return a}Im();x()}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=L-16|0;L=d;i[a+4>>2]=b;b=i[b+64>>2];e=i[b>>2];b=i[b+4>>2];g[d+15|0]=0;Lf(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=i[a+4>>2];e=i[b+56>>2];b=i[b+52>>2];g[d+14|0]=0;Lf(a+36|0,e-b>>2,d+14|0);b=i[c+12>>2];i[a+16>>2]=i[c+8>>2];i[a+20>>2]=b;b=i[c+4>>2];i[a+8>>2]=i[c>>2];i[a+12>>2]=b;L=d+16|0}function An(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!j[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(j[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=i[c>>2];if(!((d^-1)&d+ -16843009&-2139062144)){continue}break}if(!(d&255)){return c-a|0}while(1){d=j[c+1|0];b=c+1|0;c=b;if(d){continue}break}}return b-a|0}function qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=L-48|0;L=e;a:{if((d|0)!=1){i[a>>2]=0;break a}d=i[b+4>>2];b=i[b+12>>2];i[e+40>>2]=0;f=e+32|0;i[f>>2]=0;i[f+4>>2]=0;i[e+24>>2]=0;i[e+28>>2]=0;i[e+16>>2]=0;i[e+20>>2]=0;i[e+8>>2]=0;i[e+12>>2]=0;rc(e,c,b,d,e+8|0);b=i[f>>2];if(b){i[e+36>>2]=b;qn(b)}i[a>>2]=i[e>>2]}L=e+48|0}function ch(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=i[c+16>>2];d=i[c+12>>2];e=i[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?l[c+8>>2]<=f>>>0:0){break a}d=j[f+i[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}i[c+16>>2]=f;i[c+20>>2]=e;e=b;if(d&128){if(!ch(a+1|0,b,c)){break a}a=i[b>>2]<<7;i[b>>2]=a;d=a|d&127}i[e>>2]=d;g=1}return g}function cf(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=i[c+16>>2];d=i[c+12>>2];e=i[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?l[c+8>>2]<=f>>>0:0){break a}d=j[f+i[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}i[c+16>>2]=f;i[c+20>>2]=e;e=b;if(d&128){if(!cf(a+1|0,b,c)){break a}a=i[b>>2]<<7;i[b>>2]=a;d=a|d&127}i[e>>2]=d;g=1}return g}function Zk(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=i[c+16>>2];d=i[c+12>>2];e=i[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?l[c+8>>2]<=f>>>0:0){break a}d=j[f+i[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}i[c+16>>2]=f;i[c+20>>2]=e;e=b;if(d&128){if(!Zk(a+1|0,b,c)){break a}a=i[b>>2]<<7;i[b>>2]=a;d=a|d&127}i[e>>2]=d;g=1}return g}function Sa(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=i[c+16>>2];d=i[c+12>>2];e=i[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?l[c+8>>2]<=f>>>0:0){break a}d=j[f+i[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}i[c+16>>2]=f;i[c+20>>2]=e;e=b;if(d&128){if(!Sa(a+1|0,b,c)){break a}a=i[b>>2]<<7;i[b>>2]=a;d=a|d&127}i[e>>2]=d;g=1}return g}function Rf(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=i[c+16>>2];d=i[c+12>>2];e=i[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?l[c+8>>2]<=f>>>0:0){break a}d=j[f+i[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}i[c+16>>2]=f;i[c+20>>2]=e;e=b;if(d&128){if(!Rf(a+1|0,b,c)){break a}a=i[b>>2]<<7;i[b>>2]=a;d=a|d&127}i[e>>2]=d;g=1}return g}function Pc(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=i[c+16>>2];d=i[c+12>>2];e=i[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?l[c+8>>2]<=f>>>0:0){break a}d=j[f+i[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}i[c+16>>2]=f;i[c+20>>2]=e;e=b;if(d&128){if(!Pc(a+1|0,b,c)){break a}a=i[b>>2]<<7;i[b>>2]=a;d=a|d&127}i[e>>2]=d;g=1}return g}function Gb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=i[c+16>>2];d=i[c+12>>2];e=i[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?l[c+8>>2]<=f>>>0:0){break a}d=j[f+i[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}i[c+16>>2]=f;i[c+20>>2]=e;e=b;if(d&128){if(!Gb(a+1|0,b,c)){break a}a=i[b>>2]<<7;i[b>>2]=a;d=a|d&127}i[e>>2]=d;g=1}return g}function De(a,b,c){var d=0,e=0,f=0,g=0;a:{if(a>>>0>5){break a}f=i[c+16>>2];d=i[c+12>>2];e=i[c+20>>2];if((d|0)<(e|0)?1:(d|0)<=(e|0)?l[c+8>>2]<=f>>>0:0){break a}d=j[f+i[c>>2]|0];f=f+1|0;if(f>>>0<1){e=e+1|0}i[c+16>>2]=f;i[c+20>>2]=e;e=b;if(d&128){if(!De(a+1|0,b,c)){break a}a=i[b>>2]<<7;i[b>>2]=a;d=a|d&127}i[e>>2]=d;g=1}return g}function gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=O[i[i[a>>2]+24>>2]](a)|0;c=1;a:{if((e|0)<1){break a}d=i[i[a+36>>2]>>2];f=a+48|0;c=0;if(!(O[i[i[d>>2]+20>>2]](d,f,b)|0)){break a}d=1;while(1){c=d;if((e|0)!=(c|0)){d=c+1|0;g=i[i[a+36>>2]+(c<<2)>>2];if(O[i[i[g>>2]+20>>2]](g,f,b)|0){continue}}break}c=(c|0)>=(e|0)}return c|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=O[i[i[a>>2]+24>>2]](a)|0;c=1;a:{if((e|0)<1){break a}d=i[i[a+36>>2]>>2];f=a+48|0;c=0;if(!(O[i[i[d>>2]+16>>2]](d,f,b)|0)){break a}d=1;while(1){c=d;if((e|0)!=(c|0)){d=c+1|0;g=i[i[a+36>>2]+(c<<2)>>2];if(O[i[i[g>>2]+16>>2]](g,f,b)|0){continue}}break}c=(c|0)>=(e|0)}return c|0}function Se(a,b,c,d){var e=0,f=0,g=0,h=0;if(!a){return 1}e=i[c+16>>2];g=i[c+12>>2];f=i[c+20>>2];a:{if((g|0)<(f|0)?1:(g|0)<=(f|0)?l[c+8>>2]<=e>>>0:0){break a}g=j[e+i[c>>2]|0];e=e+1|0;if(e>>>0<1){f=f+1|0}i[c+16>>2]=e;i[c+20>>2]=f;b:{switch(g|0){case 0:return Te(a,b,c,d);case 1:break b;default:break a}}h=Ue(a,c,d)}return h}function mn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(cn(a,i[b+8>>2],e)){kn(b,c,d);return}a:{if(!cn(a,i[b>>2],e)){break a}if(!(i[b+20>>2]!=(c|0)?i[b+16>>2]!=(c|0):0)){if((d|0)!=1){break a}i[b+32>>2]=1;return}i[b+20>>2]=c;i[b+32>>2]=d;i[b+40>>2]=i[b+40>>2]+1;if(!(i[b+36>>2]!=1|i[b+24>>2]!=2)){g[b+54|0]=1}i[b+44>>2]=4}}function Rk(a){i[a>>2]=0;i[a+4>>2]=0;i[a+28>>2]=0;i[a+32>>2]=0;g[a+24|0]=1;i[a+16>>2]=0;i[a+20>>2]=0;i[a+8>>2]=0;i[a+12>>2]=0;i[a+36>>2]=0;i[a+40>>2]=0;i[a+44>>2]=0;i[a+48>>2]=0;i[a+52>>2]=0;i[a+56>>2]=0;i[a+60>>2]=0;i[a+64>>2]=0;i[a+72>>2]=0;i[a+76>>2]=0;i[a+80>>2]=0;i[a+84>>2]=0;i[a+88>>2]=0;i[a+92>>2]=0;i[a+68>>2]=a}function fm(a){var b=0,c=0,d=0,e=0,f=0;while(1){b=a;a=b+1|0;c=g[b|0];if((c|0)==32|c+ -9>>>0<5){continue}break}a:{b:{c:{c=g[b|0];switch(c+ -43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=g[a|0];b=a;f=e}if(Rl(c)){while(1){d=(o(d,10)-g[b|0]|0)+48|0;a=g[b+1|0];b=b+1|0;if(Rl(a)){continue}break}}return f?d:0-d|0}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=L-16|0;L=d;i[a+4>>2]=b;e=i[b>>2];b=i[b+4>>2];g[d+15|0]=0;Lf(a+24|0,(b-e>>2>>>0)/3|0,d+15|0);b=i[a+4>>2];e=i[b+28>>2];b=i[b+24>>2];g[d+14|0]=0;Lf(a+36|0,e-b>>2,d+14|0);b=i[c+12>>2];i[a+16>>2]=i[c+8>>2];i[a+20>>2]=b;b=i[c+4>>2];i[a+8>>2]=i[c>>2];i[a+12>>2]=b;L=d+16|0}function yk(a){var b=0;i[a>>2]=0;i[a+4>>2]=0;i[a+56>>2]=0;i[a+48>>2]=0;i[a+52>>2]=0;i[a+40>>2]=0;i[a+44>>2]=0;i[a+32>>2]=0;i[a+36>>2]=0;i[a+24>>2]=0;i[a+28>>2]=0;i[a+16>>2]=0;i[a+20>>2]=0;i[a+8>>2]=0;i[a+12>>2]=0;b=a- -64|0;i[b>>2]=0;i[b+4>>2]=0;i[a+72>>2]=0;i[a+76>>2]=0;i[a+80>>2]=0;i[a+84>>2]=0;i[a+60>>2]=a}function nh(a){var b=0,c=0,d=0,e=0;if(a){d=i[a+24>>2];if(d){b=d;c=i[a+28>>2];e=b;a:{if((c|0)==(b|0)){break a}while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;if(b){sh(b+12|0,i[b+16>>2]);th(b,i[b+4>>2]);qn(b)}if((c|0)!=(d|0)){continue}break}e=i[a+24>>2]}b=e;i[a+28>>2]=d;qn(b)}sh(a+12|0,i[a+16>>2]);th(a,i[a+4>>2]);qn(a)}}function ci(a,b,c){var d=0,e=0,f=0;d=L-16|0;L=d;e=i[a+96>>2];i[d+8>>2]=0;i[d>>2]=0;i[d+4>>2]=0;a=Gm(12);i[d>>2]=a;i[d+4>>2]=a;f=a+12|0;i[d+8>>2]=f;e=sn(a,e+o(b,12)|0,12)+12|0;i[d+4>>2]=e;b=i[c>>2];if(b){i[c+4>>2]=b;qn(b);i[c+8>>2]=0;i[c>>2]=0;i[c+4>>2]=0}i[c+8>>2]=f;i[c+4>>2]=e;i[c>>2]=a;L=d+16|0;return 1}function Ph(a,b){var c=0,d=0,e=0,f=0;c=L-16|0;L=c;d=An(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){e=d+16&-16;f=Gm(e);i[c+8>>2]=e|-2147483648;i[c>>2]=f;i[c+4>>2]=d;e=c;break b}g[c+11|0]=d;e=c;f=c;if(!d){break a}}sn(f,b,d)}g[d+f|0]=0;a=Mb(a,c);if(g[e+11|0]<=-1){qn(i[c>>2])}L=c+16|0;return(a|0)!=0}Im();x()}function uf(a){a=a|0;var b=0,c=0,d=0,e=0;i[a>>2]=13492;b=i[a+20>>2];if(b){i[a+24>>2]=b;qn(b)}d=i[a+8>>2];if(d){b=d;c=i[a+12>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=i[a+8>>2]}b=e;i[a+12>>2]=d;qn(b)}return a|0}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=L-16|0;L=d;e=i[c>>2];i[c>>2]=0;i[d+8>>2]=e;sl(a,b,d+8|0);c=i[d+8>>2];i[d+8>>2]=0;if(c){Ua(c)}e=i[a+84>>2];c=i[a+88>>2]-e>>2;a:{if((c|0)>(b|0)){break a}b=b+1|0;if(b>>>0>c>>>0){Pk(a+84|0,b-c|0);break a}if(b>>>0>=c>>>0){break a}i[a+88>>2]=e+(b<<2)}L=d+16|0}function ia(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i[c+8>>2];f=i[c+16>>2];g=i[c+12>>2];d=g;e=i[c+20>>2];if((d|0)>(e|0)?1:(d|0)>=(e|0)?h>>>0>f>>>0:0){b=j[f+i[c>>2]|0];d=e;k=f+1|0;if(k>>>0<1){d=d+1|0}i[c+16>>2]=k;i[c+20>>2]=d;i[a+4>>2]=b}return((g|0)>(e|0)?1:(g|0)>=(e|0)?h>>>0>f>>>0:0)|0}function Rm(a,b,c,d,e){var f=0,g=0,h=0;f=L-16|0;L=f;if(-17-b>>>0>=c>>>0){g=vm(a);a:{if(2147483623>b>>>0){i[f+8>>2]=b<<1;i[f+12>>2]=b+c;c=Am(i[om(f+12|0,f+8|0)>>2]);break a}c=-18}h=c+1|0;c=Bm(h);if(e){nm(c,g,e)}d=d-e|0;if(d){nm(c+e|0,e+g|0,d)}if((b|0)!=10){qn(g)}Cm(a,c);Dm(a,h);L=f+16|0;return}Im();x()}function gh(a){a=a|0;var b=0,c=0,d=0,e=0;i[a>>2]=13492;b=i[a+20>>2];if(b){i[a+24>>2]=b;qn(b)}d=i[a+8>>2];if(d){b=d;c=i[a+12>>2];e=b;a:{if((b|0)==(c|0)){break a}while(1){c=c+ -4|0;b=i[c>>2];i[c>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=i[a+8>>2]}b=e;i[a+12>>2]=d;qn(b)}qn(a)}function am(a,b,c){var d=0,e=0,f=0;a:{if((b|0)==1&a>>>0<0|b>>>0<1){d=a;break a}while(1){d=Ln(a,b,10,0);e=N;f=e;e=Jn(d,e,10,0);c=c+ -1|0;g[c|0]=a-e|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c+ -1|0;a=(d>>>0)/10|0;g[c|0]=d-o(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function Eg(a){a=a|0;var b=0;i[a+8>>2]=12528;i[a>>2]=12316;b=i[a+96>>2];if(b){i[a+100>>2]=b;qn(b)}b=i[a+80>>2];if(b){i[a+84>>2]=b;qn(b)}b=i[a+68>>2];if(b){i[a+72>>2]=b;qn(b)}b=i[a+56>>2];if(b){i[a+60>>2]=b;qn(b)}i[a+8>>2]=12764;b=i[a+44>>2];if(b){qn(b)}b=i[a+32>>2];if(b){qn(b)}return a|0}function Fa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0;e=L+ -64|0;L=e;f=O[i[i[b>>2]+44>>2]](b,c)|0;b=O[i[i[b>>2]+40>>2]](b,c)|0;h=Ga(e);j=i[c+56>>2];c=b;b=o(Hh(b),f);Ha(h,j,f<<24>>24,c,0,b,b>>31);b=Gm(96);c=La(b,h);i[a>>2]=b;Ma(c,d);g[b+84|0]=1;i[b+72>>2]=i[b+68>>2];L=e- -64|0}function Fg(a){a=a|0;var b=0;i[a+8>>2]=12528;i[a>>2]=12316;b=i[a+96>>2];if(b){i[a+100>>2]=b;qn(b)}b=i[a+80>>2];if(b){i[a+84>>2]=b;qn(b)}b=i[a+68>>2];if(b){i[a+72>>2]=b;qn(b)}b=i[a+56>>2];if(b){i[a+60>>2]=b;qn(b)}i[a+8>>2]=12764;b=i[a+44>>2];if(b){qn(b)}b=i[a+32>>2];if(b){qn(b)}qn(a)}function Ma(a,b){var c=0,d=0,e=0;a:{if(i[a+64>>2]){break a}d=Gm(32);yh(d);c=i[a+64>>2];i[a+64>>2]=d;if(!c){break a}d=i[c>>2];if(d){i[c+4>>2]=d;qn(d)}qn(c)}c=Hh(i[a+28>>2]);c=o(c,g[a+24|0]);d=c;c=c>>31;e=zh(i[a+64>>2],0,Jn(d,c,b,0),N);if(e){Ja(a,i[a+64>>2],d,c);i[a+80>>2]=b}return e}function ji(a,b,c){var d=0,e=0,f=0,g=0,h=0;g=i[a+96>>2];e=i[a+100>>2]-g|0;a=(e|0)/12|0;if(!(!e|(b|0)!=(e|0))){h=a>>>0>1?a:1;a=0;while(1){d=o(a,12);f=d+c|0;d=d+g|0;i[f>>2]=i[d>>2];i[f+4>>2]=i[d+4>>2];i[f+8>>2]=i[d+8>>2];a=a+1|0;if((h|0)!=(a|0)){continue}break}}return(b|0)==(e|0)}function Fm(a,b,c){var d=0,e=0,f=0,h=0;f=L-16|0;L=f;e=c-b|0;if(e>>>0<=4294967279){a:{if(e>>>0<=10){zm(a,e);d=a;break a}h=Am(e)+1|0;d=Bm(h);Cm(a,d);Dm(a,h);ym(a,e)}while(1){if((b|0)!=(c|0)){xm(d,b);d=d+1|0;b=b+1|0;continue}break}g[f+15|0]=0;xm(d,f+15|0);L=f+16|0;return}Im();x()}function Gi(a,b){var c=0,d=0;c=i[a+4>>2];if(!c){return 0}b=i[i[i[a+8>>2]+(b<<2)>>2]+60>>2];if((b|0)<0){return 0}a=i[c+24>>2];c=i[c+28>>2];if((a|0)==(c|0)){return 0}a:{while(1){d=i[a>>2];if((b|0)==i[d+24>>2]){break a}a=a+4|0;if((c|0)!=(a|0)){continue}break}return 0}return d}function rm(){var a=0,b=0,c=0;a=L-16|0;L=a;a:{if(F(a+12|0,a+8|0)|0){break a}b=pn((i[a+12>>2]<<2)+4|0);i[4331]=b;if(!b){break a}b:{b=pn(i[a+8>>2]);if(b){c=i[4331];if(c){break b}}i[4331]=0;break a}i[(i[a+12>>2]<<2)+c>>2]=0;if(!(G(i[4331],b|0)|0)){break a}i[4331]=0}L=a+16|0}function Dg(a){a=a|0;var b=0;i[a>>2]=12528;b=i[a+88>>2];if(b){i[a+92>>2]=b;qn(b)}b=i[a+72>>2];if(b){i[a+76>>2]=b;qn(b)}b=i[a+60>>2];if(b){i[a- -64>>2]=b;qn(b)}b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}i[a>>2]=12764;b=i[a+36>>2];if(b){qn(b)}b=i[a+24>>2];if(b){qn(b)}return a|0}function Ej(a){a=a|0;var b=0,c=0,d=0,e=0;if(a){if(g[a+27|0]<=-1){qn(i[a+16>>2])}c=i[a>>2];if(c){b=c;d=i[a+4>>2];e=b;a:{if((d|0)==(b|0)){break a}while(1){b=d+ -12|0;if(g[d+ -1|0]<=-1){qn(i[b>>2])}d=b;if((b|0)!=(c|0)){continue}break}e=i[a>>2]}b=e;i[a+4>>2]=c;qn(b)}qn(a)}}function Lg(a){a=a|0;var b=0;i[a>>2]=12528;b=i[a+88>>2];if(b){i[a+92>>2]=b;qn(b)}b=i[a+72>>2];if(b){i[a+76>>2]=b;qn(b)}b=i[a+60>>2];if(b){i[a- -64>>2]=b;qn(b)}b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}i[a>>2]=12764;b=i[a+36>>2];if(b){qn(b)}b=i[a+24>>2];if(b){qn(b)}qn(a)}function ic(a,b,c){a=a|0;b=b|0;c=c|0;b=0;a:{b:{switch(c|0){case 0:b=Gm(20);Sb(b);break a;case 1:b=Gm(24);mc(b);break a;case 2:b=Gm(48);oe(b);break a;case 3:b=Gm(32);mc(b);i[b+28>>2]=-1;i[b+24>>2]=1032;i[b>>2]=6844;break;default:break b}}i[a>>2]=b;return}i[a>>2]=b}function Ee(a){var b=0,c=0,d=0,e=0,f=0;d=j[a+12|0];c=i[a+8>>2];a:{if(c>>>0>4095){break a}b=i[a+4>>2];if((b|0)<1){break a}b=b+ -1|0;i[a+4>>2]=b;c=j[b+i[a>>2]|0]|c<<8;i[a+8>>2]=c}d=0-d&255;b=o(d,c>>>8|0);e=c&255;f=e>>>0>>0;i[a+8>>2]=f?b+e|0:(c-d|0)-b|0;return f}function Ne(a,b,c,d){var e=0;e=L-16|0;L=e;c=Qe(a,b,e+12|0,e+8|0,c);if(!i[c>>2]){b=Gm(40);Jm(b+16|0,d);Jm(b+28|0,d+12|0);i[b+8>>2]=i[e+12>>2];i[b>>2]=0;i[b+4>>2]=0;i[c>>2]=b;d=i[i[a>>2]>>2];if(d){i[a>>2]=d;b=i[c>>2]}Oe(i[a+4>>2],b);i[a+8>>2]=i[a+8>>2]+1}L=e+16|0}function Tf(a){var b=0;b=i[a+84>>2];if(b){i[a+88>>2]=b;qn(b)}b=i[a+72>>2];if(b){i[a+76>>2]=b;qn(b)}b=i[a+52>>2];if(b){i[a+56>>2]=b;qn(b)}b=i[a+40>>2];if(b){i[a+44>>2]=b;qn(b)}b=i[a+28>>2];if(b){i[a+32>>2]=b;qn(b)}b=i[a+12>>2];if(b){qn(b)}a=i[a>>2];if(a){qn(a)}}function Sf(a,b){if(b){a=i[b+76>>2];if(a){i[b+80>>2]=a;qn(a)}a=i[b- -64>>2];if(a){i[b+68>>2]=a;qn(a)}a=i[b+48>>2];if(a){i[b+52>>2]=a;qn(a)}a=i[b+24>>2];if(a){i[b+28>>2]=a;qn(a)}a=i[b+12>>2];if(a){i[b+16>>2]=a;qn(a)}a=i[b>>2];if(a){i[b+4>>2]=a;qn(a)}qn(b)}}function Hn(a,b,c,d){var e=0,f=0,g=0,h=0;e=b;f=e>>31;e=e>>31;a=a^e;g=a-e|0;h=(b^f)-((a>>>0>>0)+f|0)|0;e=d;f=e>>31;e=e>>31;a=c^e;e=Ln(g,h,a-e|0,(d^f)-((a>>>0>>0)+f|0)|0);b=b^d;c=b>>31;a=b>>31;b=e^a;d=b-a|0;N=(c^N)-((b>>>0>>0)+c|0)|0;return d}function lm(a,b,c){var d=0,e=0,f=0,g=0;d=L-16|0;L=d;b=b-a>>2;while(1){if(b){i[d+12>>2]=a;e=d+12|0;f=e;g=i[e>>2];e=b>>>1|0;i[f>>2]=g+(e<<2);if(mm(i[d+12>>2],c)){a=i[d+12>>2]+4|0;i[d+12>>2]=a;b=(e^-1)+b|0}else{b=e}continue}break}L=d+16|0;return a}function hl(a,b,c){var d=0;a:{d=a+4|0;a=Kh(a,b);if((d|0)==(a|0)){break a}b=i[a+32>>2];a=i[a+28>>2];if((b-a|0)!=8){break a}b=j[a+4|0]|j[a+5|0]<<8|(j[a+6|0]<<16|j[a+7|0]<<24);i[c>>2]=j[a|0]|j[a+1|0]<<8|(j[a+2|0]<<16|j[a+3|0]<<24);i[c+4>>2]=b}}function Ua(a){a=a|0;var b=0,c=0;if(a){b=i[a+88>>2];i[a+88>>2]=0;if(b){c=i[b+8>>2];if(c){i[b+12>>2]=c;qn(c)}qn(b)}b=i[a+68>>2];if(b){i[a+72>>2]=b;qn(b)}b=i[a+64>>2];i[a+64>>2]=0;if(b){c=i[b>>2];if(c){i[b+4>>2]=c;qn(c)}qn(b)}qn(a)}}function ve(a){a=a|0;var b=0;i[a+24>>2]=1140;i[a>>2]=10864;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}i[a>>2]=2264;b=i[a+20>>2];i[a+20>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}i[a>>2]=1884;b=i[a+16>>2];i[a+16>>2]=0;if(b){Ua(b)}return a|0}function rl(a,b){var c=0,d=0,e=0,f=0;c=L-16|0;L=c;d=i[a+12>>2];e=i[a+8>>2];f=i[b>>2];i[b>>2]=0;i[c+8>>2]=f;O[i[i[a>>2]+8>>2]](a,d-e>>2,c+8|0);b=i[c+8>>2];i[c+8>>2]=0;if(b){Ua(b)}L=c+16|0;return(i[a+12>>2]-i[a+8>>2]>>2)+ -1|0}function Gn(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=o(e,f);g=c&65535;h=a&65535;i=o(g,h);f=(i>>>16|0)+o(f,g)|0;e=(f&65535)+o(e,h)|0;a=(o(b,c)+j|0)+o(a,d)+(f>>>16)+(e>>>16)|0;b=i&65535|e<<16;N=a;return b}function pl(a,b){var c=0,d=0,e=0;c=i[a+8>>2];a=i[a+12>>2];a:{if((c|0)==(a|0)){break a}a=a-c>>2;e=a>>>0>1?a:1;a=0;while(1){d=i[(a<<2)+c>>2];if(i[d+60>>2]==(b|0)){break a}a=a+1|0;if((e|0)!=(a|0)){continue}break}d=0}return d}function we(a){a=a|0;var b=0;i[a+24>>2]=1140;i[a>>2]=10864;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}i[a>>2]=2264;b=i[a+20>>2];i[a+20>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}i[a>>2]=1884;b=i[a+16>>2];i[a+16>>2]=0;if(b){Ua(b)}qn(a)}function Bh(a){h[a+38>>1]=0;i[a>>2]=0;i[a+8>>2]=0;i[a+12>>2]=0;i[a+16>>2]=0;i[a+20>>2]=0;i[a+24>>2]=0;i[a+28>>2]=0;g[a+29|0]=0;g[a+30|0]=0;g[a+31|0]=0;g[a+32|0]=0;g[a+33|0]=0;g[a+34|0]=0;g[a+35|0]=0;g[a+36|0]=0;return a}function ga(a,b){a=a|0;b=b|0;var c=0,d=0;c=L-16|0;L=c;a=i[a+4>>2];a:{if((a|0)==-1){break a}g[c+15|0]=a;d=i[b+20>>2];if((d|0)>0?1:(d|0)>=0?l[b+16>>2]>0:0){break a}ha(b,i[b+4>>2],c+15|0,c+16|0)}L=c+16|0;return(a|0)!=-1|0}function Ah(a,b){var c=0,d=0;d=i[a>>2];c=i[a+4>>2]-d|0;a:{if(c>>>0>>0){tb(a,b-c|0);break a}if(c>>>0<=b>>>0){break a}i[a+4>>2]=b+d}b=a+24|0;c=b;d=b;a=i[b+4>>2];b=i[b>>2]+1|0;if(b>>>0<1){a=a+1|0}i[d>>2]=b;i[c+4>>2]=a}function Km(a,b,c){var d=0,e=0,f=0;d=L-16|0;L=d;if(4294967279>=c>>>0){a:{if(c>>>0<=10){zm(a,c);e=a;break a}f=Am(c)+1|0;e=Bm(f);Cm(a,e);Dm(a,f);ym(a,c)}nm(e,b,c);g[d+15|0]=0;xm(c+e|0,d+15|0);L=d+16|0;return}Im();x()}function qh(a){a=a|0;var b=0,c=0,d=0;b=i[a+8>>2];d=i[a+12>>2];if((b|0)==(d|0)){return 1}while(1){a:{c=i[b>>2];c=O[i[i[c>>2]+16>>2]](c,i[a+32>>2])|0;b=b+4|0;if((d|0)==(b|0)){break a}if(c){continue}}break}return c|0}function fn(a,b,c){var d=0;d=i[a+16>>2];if(!d){i[a+36>>2]=1;i[a+24>>2]=c;i[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(i[a+24>>2]!=2){break a}i[a+24>>2]=c;return}g[a+54|0]=1;i[a+24>>2]=2;i[a+36>>2]=i[a+36>>2]+1}}function dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=L-16|0;L=e;a:{if(!gm(K(i[a+60>>2],b|0,c|0,d&255,e+8|0)|0)){b=i[e+12>>2];a=i[e+8>>2];break a}i[e+8>>2]=-1;i[e+12>>2]=-1;b=-1;a=-1}L=e+16|0;N=b;return a|0}function ba(a,b){a=a|0;b=b|0;var c=0,d=0;i[b>>2]=2;c=i[b+8>>2];d=i[b+12>>2]-c|0;if(d>>>0<=4294967291){b=b+8|0;Ah(b,d+4|0);c=i[b>>2]}b=c+d|0;a=i[a+4>>2];g[b|0]=a;g[b+1|0]=a>>>8;g[b+2|0]=a>>>16;g[b+3|0]=a>>>24}function Gh(a){var b=0,c=0,d=0,e=0,f=0,h=0;g[a+36|0]=0;d=i[a+20>>2];e=a;f=a;h=i[a+16>>2];a=i[a+32>>2]+7|0;if(a>>>0<7){b=1}c=b>>>3|0;a=b<<29|a>>>3;b=h+a|0;c=c+d|0;i[f+16>>2]=b;i[e+20>>2]=b>>>0>>0?c+1|0:c}function wd(a){a=a|0;var b=0;i[a>>2]=5396;b=i[a+96>>2];if(b){qn(b)}b=i[a+84>>2];if(b){qn(b)}b=i[a+72>>2];if(b){qn(b)}b=i[a+60>>2];if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}return a|0}function Lc(a){a=a|0;var b=0;i[a>>2]=3380;b=i[a+96>>2];if(b){qn(b)}b=i[a+84>>2];if(b){qn(b)}b=i[a+72>>2];if(b){qn(b)}b=i[a+60>>2];if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}return a|0}function bm(a,b,c,d,e){var f=0;f=L-256|0;L=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;tn(f,b&255,d?c:256);if(!d){while(1){Xl(a,f,256);c=c+ -256|0;if(c>>>0>255){continue}break}}Xl(a,f,c)}L=f+256|0}function Mm(a,b,c){var d=0,e=0,f=0,h=0;e=L-16|0;L=e;d=tm(a);a:{if(d>>>0>=c>>>0){f=vm(a);h=f;d=c;if(c){un(h,b,d)}g[e+15|0]=0;xm(c+f|0,e+15|0);Em(a,c);break a}f=a;a=sm(a);Nm(f,d,c-d|0,a,a,c,b)}L=e+16|0}function xd(a){a=a|0;var b=0;i[a>>2]=5396;b=i[a+96>>2];if(b){qn(b)}b=i[a+84>>2];if(b){qn(b)}b=i[a+72>>2];if(b){qn(b)}b=i[a+60>>2];if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}qn(a)}function Mc(a){a=a|0;var b=0;i[a>>2]=3380;b=i[a+96>>2];if(b){qn(b)}b=i[a+84>>2];if(b){qn(b)}b=i[a+72>>2];if(b){qn(b)}b=i[a+60>>2];if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}qn(a)}function Pm(a,b){var c=0,d=0,e=0,f=0;e=L-16|0;L=e;if(b){d=tm(a);c=sm(a);f=c+b|0;if(d-c>>>0>>0){Rm(a,d,f-d|0,c,c)}d=c;c=vm(a);d=d+c|0;if(b){tn(d,0,b)}Em(a,f);g[e+15|0]=0;xm(c+f|0,e+15|0)}L=e+16|0}function il(a,b,c){var d=0,e=0;d=a+4|0;a=Kh(a,b);if((d|0)==(a|0)){return 0}b=i[a+32>>2];d=i[a+28>>2];if((b|0)!=(d|0)){Om(c,b-d|0);e=Sm(c);c=i[a+28>>2];sn(e,c,i[a+32>>2]-c|0)}return(b|0)!=(d|0)}function rh(a,b){var c=0,d=0;a:{if((b|0)<0){break a}c=i[a+4>>2];if(i[c+12>>2]-i[c+8>>2]>>2<=(b|0)){break a}a=i[i[a+8>>2]+(i[i[a+20>>2]+(b<<2)>>2]<<2)>>2];d=O[i[i[a>>2]+32>>2]](a,b)|0}return d}function Ka(a){Ga(a);i[a+64>>2]=0;i[a+68>>2]=0;i[a+88>>2]=0;i[a+72>>2]=0;i[a+76>>2]=0;g[a+77|0]=0;g[a+78|0]=0;g[a+79|0]=0;g[a+80|0]=0;g[a+81|0]=0;g[a+82|0]=0;g[a+83|0]=0;g[a+84|0]=0;return a}function Ja(a,b,c,d){var e=0;i[a>>2]=b;e=i[b+20>>2];i[a+8>>2]=i[b+16>>2];i[a+12>>2]=e;e=i[b+24>>2];b=i[b+28>>2];i[a+48>>2]=0;i[a+52>>2]=0;i[a+40>>2]=c;i[a+44>>2]=d;i[a+16>>2]=e;i[a+20>>2]=b}function vn(a){var b=0;b=j[a+74|0];g[a+74|0]=b+ -1|b;b=i[a>>2];if(b&8){i[a>>2]=b|32;return-1}i[a+4>>2]=0;i[a+8>>2]=0;b=i[a+44>>2];i[a+28>>2]=b;i[a+20>>2]=b;i[a+16>>2]=b+i[a+48>>2];return 0}function Zh(a,b,c,d){var e=0,f=0;e=L+ -64|0;L=e;f=Bh(e+8|0);Ch(f,b,c);Je(e+48|0,a,f,d);i[a+24>>2]=i[e+48>>2];Lm(a+28|0,e+48|4);a=a+24|0;if(g[e+63|0]<=-1){qn(i[e+52>>2])}L=e- -64|0;return a}function Ga(a){i[a+8>>2]=0;i[a+12>>2]=0;i[a>>2]=0;i[a+40>>2]=0;i[a+44>>2]=0;i[a+28>>2]=9;g[a+24|0]=1;i[a+56>>2]=-1;i[a+60>>2]=0;i[a+16>>2]=0;i[a+20>>2]=0;i[a+48>>2]=0;i[a+52>>2]=0;return a}function $h(a,b,c,d){var e=0,f=0;e=L+ -64|0;L=e;f=Bh(e+8|0);Ch(f,b,c);Ke(e+48|0,a,f,d);i[a+24>>2]=i[e+48>>2];Lm(a+28|0,e+48|4);a=a+24|0;if(g[e+63|0]<=-1){qn(i[e+52>>2])}L=e- -64|0;return a}function qm(a,b){var c=0,d=0;c=j[a|0];d=j[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=j[b+1|0];c=j[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function ql(a,b){var c=0,d=0;c=i[a+8>>2];a=i[a+12>>2];if((c|0)!=(a|0)){d=a-c>>2;a=0;while(1){if(i[i[(a<<2)+c>>2]+60>>2]==(b|0)){return a}a=a+1|0;if(a>>>0>>0){continue}break}}return-1}function Qk(a,b){a=a|0;b=b|0;var c=0,d=0;ul(a,b);a:{if((b|0)<0){break a}c=i[a+88>>2];d=i[a+84>>2];if(c-d>>2<=(b|0)){break a}b=d+(b<<2)|0;d=b+4|0;c=c-d|0;if(c){un(b,d,c)}i[a+88>>2]=b+c}}function sh(a,b){var c=0;if(b){sh(a,i[b>>2]);sh(a,i[b+4>>2]);c=b+28|0;a=i[c>>2];i[c>>2]=0;if(a){sh(a+12|0,i[a+16>>2]);th(a,i[a+4>>2]);qn(a)}if(g[b+27|0]<=-1){qn(i[b+16>>2])}qn(b)}}function rn(a){var b=0,c=0;b=i[4274];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>Vn()<<16>>>0){if(!(H(a|0)|0)){break a}}i[4274]=a;return b}i[4312]=48;return-1}function lc(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a+16>>2];c=0;a:{if(i[a+20>>2]-d>>2<=(b|0)){break a}b=i[(b<<2)+d>>2];c=0;if((b|0)<0){break a}c=Xb(i[i[a+36>>2]+(b<<2)>>2])}return c|0}function fl(a,b,c){var d=0;a:{d=a+4|0;a=Kh(a,b);if((d|0)==(a|0)){break a}b=i[a+32>>2];a=i[a+28>>2];if((b-a|0)!=4){break a}i[c>>2]=j[a|0]|j[a+1|0]<<8|(j[a+2|0]<<16|j[a+3|0]<<24)}}function Vg(a){a=a|0;var b=0;i[a+8>>2]=11956;i[a>>2]=13076;b=i[a+56>>2];if(b){i[a+60>>2]=b;qn(b)}i[a+8>>2]=12208;b=i[a+44>>2];if(b){qn(b)}b=i[a+32>>2];if(b){qn(b)}return a|0}function Pg(a){a=a|0;var b=0;i[a+8>>2]=12948;i[a>>2]=12784;b=i[a+56>>2];if(b){i[a+60>>2]=b;qn(b)}i[a+8>>2]=12764;b=i[a+44>>2];if(b){qn(b)}b=i[a+32>>2];if(b){qn(b)}return a|0}function Jm(a,b){var c=0,d=0,e=0;d=L-16|0;L=d;c=a;a:{if(!um(b)){i[c+8>>2]=i[b+8>>2];e=i[b+4>>2];i[c>>2]=i[b>>2];i[c+4>>2]=e;break a}Km(a,i[b>>2],i[b+4>>2])}L=d+16|0;return a}function Wg(a){a=a|0;var b=0;i[a+8>>2]=11956;i[a>>2]=13076;b=i[a+56>>2];if(b){i[a+60>>2]=b;qn(b)}i[a+8>>2]=12208;b=i[a+44>>2];if(b){qn(b)}b=i[a+32>>2];if(b){qn(b)}qn(a)}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{d=i[a+8>>2];if(g[d+24|0]<1){break a}if(!Ma(d,i[b+4>>2]-i[b>>2]>>2)){break a}return O[i[i[a>>2]+32>>2]](a,b,c)|0}return 0}function Qg(a){a=a|0;var b=0;i[a+8>>2]=12948;i[a>>2]=12784;b=i[a+56>>2];if(b){i[a+60>>2]=b;qn(b)}i[a+8>>2]=12764;b=i[a+44>>2];if(b){qn(b)}b=i[a+32>>2];if(b){qn(b)}qn(a)}function Pl(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}while(1){d=j[a|0];e=j[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c+ -1|0;if(c){continue}break a}break}f=d-e|0}return f}function zd(a){a=a|0;var b=0;i[a>>2]=5632;b=i[a+76>>2];if(b){qn(b)}b=i[a+68>>2];i[a+68>>2]=0;if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}return a|0}function Vc(a){a=a|0;var b=0;i[a>>2]=3628;b=i[a+76>>2];if(b){qn(b)}b=i[a+68>>2];i[a+68>>2]=0;if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}return a|0}function Tm(a){var b=0,c=0,d=0,e=0;b=L-32|0;L=b;c=b+8|0;d=b+32|0;e=b+21|0;a:{if((d|0)==(e|0)){break a}}Um(c,e,d);c=L-16|0;L=c;Fm(a,b+21|0,i[b+8>>2]);L=c+16|0;L=b+32|0}function Ea(a,b){var c=0;c=Gm(40);i[c>>2]=-1;yh(c+8|0);O[i[i[a>>2]+16>>2]](a,c);a=i[b+88>>2];i[b+88>>2]=c;if(a){b=i[a+8>>2];if(b){i[a+12>>2]=b;qn(b)}qn(a)}return 1}function Wc(a){a=a|0;var b=0;i[a>>2]=3628;b=i[a+76>>2];if(b){qn(b)}b=i[a+68>>2];i[a+68>>2]=0;if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}qn(a)}function Ad(a){a=a|0;var b=0;i[a>>2]=5632;b=i[a+76>>2];if(b){qn(b)}b=i[a+68>>2];i[a+68>>2]=0;if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}qn(a)}function aa(a,b){a=a|0;b=b|0;var c=0;b=i[b+88>>2];if(!(!b|i[b>>2]!=2)){c=a;a=i[b+8>>2];i[c+4>>2]=j[a|0]|j[a+1|0]<<8|(j[a+2|0]<<16|j[a+3|0]<<24);c=1}return c|0}function vc(a){a=a|0;var b=0;i[a>>2]=2264;b=i[a+20>>2];i[a+20>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}i[a>>2]=1884;b=i[a+16>>2];i[a+16>>2]=0;if(b){Ua(b)}return a|0}function md(a){a=a|0;a:{if(!i[a- -64>>2]|!i[a+68>>2]|(!i[a+44>>2]|!i[a+48>>2])){break a}if(!i[a+52>>2]|!i[a+56>>2]){break a}return i[a+92>>2]!=-1|0}return 0}function kh(a){i[a+40>>2]=0;i[a>>2]=13492;i[a+4>>2]=0;i[a+8>>2]=0;i[a+12>>2]=0;i[a+16>>2]=0;i[a+20>>2]=0;i[a+24>>2]=0;i[a+28>>2]=0;i[a+32>>2]=0;h[a+36>>1]=0}function Ya(a,b){a=a|0;b=b|0;a:{if(!(O[i[i[a>>2]+36>>2]](a,b)|0)){break a}if(!(O[i[i[a>>2]+40>>2]](a,b)|0)){break a}return O[i[i[a>>2]+44>>2]](a)|0}return 0}function Qm(a,b){var c=0,d=0;c=L-16|0;L=c;a:{if(um(a)){d=i[a>>2];g[c+15|0]=0;xm(b+d|0,c+15|0);ym(a,b);break a}g[c+14|0]=0;xm(a+b|0,c+14|0);zm(a,b)}L=c+16|0}function Pf(a){a=a|0;var b=0;i[a>>2]=11956;b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}i[a>>2]=12208;b=i[a+36>>2];if(b){qn(b)}b=i[a+24>>2];if(b){qn(b)}return a|0}function Og(a){a=a|0;var b=0;i[a>>2]=12948;b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}i[a>>2]=12764;b=i[a+36>>2];if(b){qn(b)}b=i[a+24>>2];if(b){qn(b)}return a|0}function bc(a,b){var c=0;Pa(a);i[a+36>>2]=0;i[a+40>>2]=0;i[a>>2]=2048;i[a+44>>2]=0;i[a+48>>2]=0;i[a+52>>2]=0;i[a+56>>2]=0;c=i[b>>2];i[b>>2]=0;i[a+60>>2]=c}function Yl(a){var b=0,c=0,d=0;if(Rl(g[i[a>>2]])){while(1){b=i[a>>2];d=g[b|0];i[a>>2]=b+1;c=(o(c,10)+d|0)+ -48|0;if(Rl(g[b+1|0])){continue}break}}return c}function Wd(a){a=a|0;a:{if(!i[a+48>>2]|!i[a+52>>2]|(!i[a+28>>2]|!i[a+32>>2])){break a}if(!i[a+36>>2]|!i[a+40>>2]){break a}return i[a+76>>2]!=-1|0}return 0}function wc(a){a=a|0;var b=0;i[a>>2]=2264;b=i[a+20>>2];i[a+20>>2]=0;if(b){O[i[i[b>>2]+4>>2]](b)}i[a>>2]=1884;b=i[a+16>>2];i[a+16>>2]=0;if(b){Ua(b)}qn(a)}function Lh(a,b){var c=0;b=Kh(a,b);a:{if((b|0)==(a+4|0)){break a}a=b+28|0;if(g[b+39|0]<=-1){a=i[a>>2]}a=fm(a);if((a|0)==-1){break a}c=(a|0)!=0}return c}function yg(a){a=a|0;var b=0;i[a>>2]=11956;b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}i[a>>2]=12208;b=i[a+36>>2];if(b){qn(b)}b=i[a+24>>2];if(b){qn(b)}qn(a)}function cb(a){Pa(a);i[a+36>>2]=0;i[a+40>>2]=0;i[a>>2]=1572;i[a+44>>2]=0;i[a+48>>2]=0;i[a+52>>2]=0;i[a+56>>2]=0;i[a+60>>2]=0;i[a+64>>2]=0;i[a+68>>2]=0}function Ug(a){a=a|0;var b=0;i[a>>2]=12948;b=i[a+48>>2];if(b){i[a+52>>2]=b;qn(b)}i[a>>2]=12764;b=i[a+36>>2];if(b){qn(b)}b=i[a+24>>2];if(b){qn(b)}qn(a)}function oc(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a+4>>2];a:{if(d){c=1;if(j[d+36|0]<2){break a}}c=O[i[i[a>>2]+48>>2]](a,i[b+4>>2]-i[b>>2]>>2)|0}return c|0}function Um(a,b,c){var d=0,e=0;e=a;d=c-b|0;a:{if(!((1-(l[4056]>1)|0)>(d|0)?(d|0)<=9:0)){g[b|0]=49;i[a>>2]=b+1;a=0;break a}i[a>>2]=c;a=61}i[e+4>>2]=a}function bl(a,b){var c=0,d=0;a:{d=i[b>>2];if(!d){break a}c=i[a+28>>2];if(c>>>0>2]){i[b>>2]=0;i[c>>2]=d;i[a+28>>2]=c+4;break a}cl(a+24|0,b)}}function nn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(cn(a,i[b+8>>2],f)){jn(b,c,d,e);return}a=i[a+8>>2];O[i[i[a>>2]+20>>2]](a,b,c,d,e,f)}function re(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(j[i[a+4>>2]+36|0]>=2){b=0;if(!(O[i[i[a>>2]+52>>2]](a)|0)){break a}}b=Ea(a+24|0,i[a+16>>2])}return b|0}function _h(a,b,c){var d=0;d=L-16|0;L=d;Ke(d,a,b,c);i[a+24>>2]=i[d>>2];Lm(a+28|0,d|4);a=a+24|0;if(g[d+15|0]<=-1){qn(i[d+4>>2])}L=d+16|0;return a}function Yh(a,b,c){var d=0;d=L-16|0;L=d;Je(d,a,b,c);i[a+24>>2]=i[d>>2];Lm(a+28|0,d|4);a=a+24|0;if(g[d+15|0]<=-1){qn(i[d+4>>2])}L=d+16|0;return a}function xh(a,b,c){var d=0,e=0,f=0;if((b|0)>0){while(1){e=d<<2;f=i[e+a>>2];i[c+e>>2]=0-(f&1)^f>>>1;d=d+1|0;if((d|0)!=(b|0)){continue}break}}}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(j[i[a+4>>2]+36|0]<=1){d=0;if(!(O[i[i[a>>2]+52>>2]](a)|0)){break a}}d=sc(a,b,c)}return d|0}function ol(a){var b=0,c=0;b=i[a+20>>2];a:{if((i[a+24>>2]-b|0)<1){break a}b=i[b>>2];if((b|0)==-1){break a}c=i[i[a+8>>2]+(b<<2)>>2]}return c}function nl(a,b){var c=0;c=-1;a:{if((b|0)==-1|(b|0)>4){break a}b=o(b,12)+a|0;a=i[b+20>>2];if((i[b+24>>2]-a|0)<1){break a}c=i[a>>2]}return c}function Ha(a,b,c,d,e,f,h){i[a>>2]=0;i[a+56>>2]=b;i[a+48>>2]=0;i[a+52>>2]=0;i[a+40>>2]=f;i[a+44>>2]=h;g[a+32|0]=e;i[a+28>>2]=d;g[a+24|0]=c}function _l(a,b,c,d){if(a|b){while(1){c=c+ -1|0;g[c|0]=j[(a&15)+15488|0]|d;a=(b&15)<<28|a>>>4;b=b>>>4|0;if(a|b){continue}break}}return c}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(j[i[a+4>>2]+36|0]>=2){b=0;if(!ia(a+24|0,Xb(a),c)){break a}}b=Ea(a+24|0,i[a+16>>2])}return b|0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(j[i[a+4>>2]+36|0]<=1){d=0;if(!ia(a+24|0,i[a+8>>2],c)){break a}}d=sc(a,b,c)}return d|0}function Lk(a){a=a|0;var b=0;i[a>>2]=14364;b=i[a+96>>2];if(b){i[a+100>>2]=b;qn(b)}b=i[a+84>>2];if(b){i[a+88>>2]=b;qn(b)}Mk(a);return a|0}function Be(a){i[a>>2]=0;i[a+4>>2]=0;g[a+5|0]=0;g[a+6|0]=0;g[a+7|0]=0;g[a+8|0]=0;g[a+9|0]=0;g[a+10|0]=0;g[a+11|0]=0;g[a+12|0]=0;return a}function Wh(a){var b=0;Ih(a);b=a+16|0;i[b>>2]=0;i[b+4>>2]=0;i[a+24>>2]=0;i[a+28>>2]=0;i[a+12>>2]=b;i[a+32>>2]=0;i[a+36>>2]=0;return a}function Nk(a){a=a|0;var b=0;i[a>>2]=14364;b=i[a+96>>2];if(b){i[a+100>>2]=b;qn(b)}b=i[a+84>>2];if(b){i[a+88>>2]=b;qn(b)}Mk(a);qn(a)}function Nd(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(!nc(a,b,c)){break a}a=i[a+8>>2];if(j[a+24|0]!=3){break a}return i[a+28>>2]==9|0}return 0}function th(a,b){if(b){th(a,i[b>>2]);th(a,i[b+4>>2]);a=i[b+28>>2];if(a){i[b+32>>2]=a;qn(a)}if(g[b+27|0]<=-1){qn(i[b+16>>2])}qn(b)}}function Pa(a){i[a+4>>2]=0;i[a+8>>2]=0;i[a>>2]=1360;i[a+12>>2]=0;i[a+16>>2]=0;i[a+20>>2]=0;i[a+24>>2]=0;i[a+28>>2]=0;i[a+32>>2]=0}function cd(a){a=a|0;var b=0;i[a>>2]=3856;b=i[a+76>>2];if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}return a|0}function Dd(a){a=a|0;var b=0;i[a>>2]=5848;b=i[a+76>>2];if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}return a|0}function wj(){var a=0;a=Gm(28);i[a>>2]=0;i[a+4>>2]=0;i[a+24>>2]=0;i[a+16>>2]=0;i[a+20>>2]=0;i[a+8>>2]=0;i[a+12>>2]=0;return a|0}function Wa(a){a=a|0;var b=0;i[a>>2]=1360;b=i[a+16>>2];if(b){i[a+20>>2]=b;qn(b)}b=i[a+4>>2];if(b){i[a+8>>2]=b;qn(b)}return a|0}function Hm(a,b){var c=0,d=0,e=0,f=0;c=An(b);d=Gm(c+13|0);i[d+8>>2]=0;i[d+4>>2]=c;i[d>>2]=c;e=a,f=sn(d+12|0,b,c+1|0),i[e>>2]=f}function Pe(a,b){if(b){Pe(a,i[b>>2]);Pe(a,i[b+4>>2]);if(g[b+39|0]<=-1){qn(i[b+28>>2])}if(g[b+27|0]<=-1){qn(i[b+16>>2])}qn(b)}}function hn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(cn(a,i[b+8>>2],0)){fn(b,c,d);return}a=i[a+8>>2];O[i[i[a>>2]+28>>2]](a,b,c,d)}function dd(a){a=a|0;var b=0;i[a>>2]=3856;b=i[a+76>>2];if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}qn(a)}function Kk(a){ml(a);i[a+84>>2]=0;i[a+88>>2]=0;i[a>>2]=14364;i[a+92>>2]=0;i[a+96>>2]=0;i[a+100>>2]=0;i[a+104>>2]=0;return a}function Ed(a){a=a|0;var b=0;i[a>>2]=5848;b=i[a+76>>2];if(b){qn(b)}i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}qn(a)}function Gm(a){var b=0;a=a?a:1;a:{while(1){b=pn(a);if(b){break a}b=i[4332];if(b){O[b|0]();continue}break}E();x()}return b}function $l(a,b,c){if(a|b){while(1){c=c+ -1|0;g[c|0]=a&7|48;a=(b&7)<<29|a>>>3;b=b>>>3|0;if(a|b){continue}break}}return c}function gj(){var a=0;a=Gm(24);i[a+4>>2]=0;i[a+8>>2]=0;i[a+16>>2]=0;i[a+20>>2]=0;i[a>>2]=a+4;i[a+12>>2]=a+16;return a|0}function va(a,b,c,d,e){var f=0;f=b+ -1|0;if(f>>>0<=29){i[a+4>>2]=b;wa(a+8|0,c,(d<<2)+c|0);m[a+20>>2]=e}return f>>>0<30}function ra(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(i[c>>2]==i[c+4>>2]){sa(a,b,i[d+80>>2],d);return 1}ta(a,b,c,d);return 1}function Yi(){var a=0;a=Gm(24);i[a+8>>2]=0;i[a+12>>2]=0;i[a+4>>2]=-1;i[a>>2]=1140;i[a+16>>2]=0;i[a+20>>2]=0;return a|0}function oe(a){mc(a);i[a+32>>2]=0;i[a+36>>2]=0;i[a+28>>2]=-1;i[a+24>>2]=1140;i[a>>2]=10864;i[a+40>>2]=0;i[a+44>>2]=0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;if(nc(a,b,c)){a=i[i[i[i[b+4>>2]+8>>2]+(c<<2)>>2]+28>>2]==9}else{a=0}return a|0}function Tb(a,b,c){a=a|0;b=b|0;c=c|0;i[a+4>>2]=b;b=i[i[i[b+4>>2]+8>>2]+(c<<2)>>2];i[a+12>>2]=c;i[a+8>>2]=b;return 1}function Yc(a){a=a|0;var b=0;if(!(!i[a+60>>2]|!i[a+44>>2]|(!i[a+48>>2]|!i[a+52>>2]))){b=i[a+56>>2]!=0}return b|0}function Xh(a){var b=0;b=L-32|0;L=b;Ie(b+8|0,a);a=i[b+24>>2];if(g[b+23|0]<=-1){qn(i[b+12>>2])}L=b+32|0;return a}function cn(a,b,c){if(!c){return i[a+4>>2]==i[b+4>>2]}if((a|0)==(b|0)){return 1}return!qm(i[a+4>>2],i[b+4>>2])}function _m(a){var b=0,c=0;a:{b=i[a>>2]+ -12|0;c=b+8|0;a=i[c>>2]+ -1|0;i[c>>2]=a;if((a|0)>-1){break a}qn(b)}}function Hd(a){a=a|0;var b=0;i[a>>2]=6072;i[a>>2]=3088;b=i[a+32>>2];if(b){i[a+36>>2]=b;qn(b)}return a|0} -function Mi(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0;g=T-96|0;T=g;q[g+72>>2]=0;q[g+64>>2]=0;q[g+68>>2]=0;q[g+48>>2]=0;q[g+52>>2]=0;q[g+40>>2]=0;q[g+44>>2]=0;q[g+56>>2]=1065353216;q[g+32>>2]=0;q[g+24>>2]=0;q[g+28>>2]=0;C=q[a+124>>2];a:{b:{c:{if((b|0)>=1){A=a+232|0;B=a+8|0;D=a+40|0;G=a+388|0;E=q[a+216>>2]!=q[a+220>>2];while(1){h=Oi(A);d:{if(!h){d=q[g+68>>2];if((d|0)==q[g+64>>2]){e=-1;break c}n=-1;u=q[B>>2];i=q[u+24>>2];f=i;h=d+ -4|0;v=q[h>>2];c=-1;e:{if((v|0)==-1){break e}e=v+1|0;e=(e>>>0)%3|0?e:v+ -2|0;c=-1;if((e|0)==-1){break e}c=q[q[u>>2]+(e<<2)>>2]}f=q[f+(c<<2)>>2];if((f|0)!=-1){e=f+1|0;n=(e>>>0)%3|0?e:f+ -2|0}f=q[u+12>>2];x=w(j,3);e=x+1|0;q[f+(v<<2)>>2]=e;e=e<<2;q[e+f>>2]=v;y=x+2|0;q[f+(n<<2)>>2]=y;k=y<<2;q[k+f>>2]=n;p=q[u>>2];q[p+(x<<2)>>2]=c;m=e+p|0;f=-1;f:{if((n|0)==-1){break f}e=n+1|0;e=(e>>>0)%3|0?e:n+ -2|0;f=-1;if((e|0)==-1){break f}f=q[p+(e<<2)>>2]}q[m>>2]=f;g:{h:{if((v|0)!=-1){e=v+((v>>>0)%3|0?-1:2)|0;if((e|0)!=-1){break h}}q[k+p>>2]=-1;break g}e=q[p+(e<<2)>>2];q[k+p>>2]=e;if((e|0)==-1){break g}q[i+(e<<2)>>2]=y}f=q[a+120>>2]+(c>>>3&536870908)|0;e=q[f>>2];H=f,I=eo(c)&e,q[H>>2]=I;q[h>>2]=x;c=0;break d}e=-1;d=h+ -1|0;if(d>>>0>6){break c}i:{j:{k:{l:{switch(d-1|0){case 1:case 3:f=q[g+68>>2];if((f|0)==q[g+64>>2]){break c}e=q[B>>2];c=q[e+12>>2];y=w(j,3);i=(h|0)==5;h=y+(i?2:1)|0;d=h<<2;p=q[f+ -4>>2];q[c+d>>2]=p;q[c+(p<<2)>>2]=h;f=e+24|0;m=q[e+32>>2];e=e+28|0;c=q[e>>2];m:{if((m|0)!=(c|0)){q[c>>2]=-1;u=c+4|0;q[e>>2]=u;break m}zi(f,11312);u=q[e>>2]}e=-1;c=q[B>>2];k=q[c+24>>2];if(q[c+28>>2]-k>>2>(C|0)){break c}e=y+2|0;x=q[c>>2];m=x+d|0;c=u-q[f>>2]|0;d=(c>>2)+ -1|0;q[m>>2]=d;if(c){q[k+(d<<2)>>2]=h}e=i?y:e;f=x+(i+y<<2)|0;n:{o:{p:{if((p|0)!=-1){d=p+((p>>>0)%3|0?-1:2)|0;if((d|0)==-1){break p}d=q[x+(d<<2)>>2];q[x+(e<<2)>>2]=d;if((d|0)==-1){break o}q[k+(d<<2)>>2]=e;break o}q[x+(e<<2)>>2]=-1;c=-1;break n}q[x+(e<<2)>>2]=-1}d=p+1|0;d=(d>>>0)%3|0?d:p+ -2|0;c=-1;if((d|0)==-1){break n}c=q[x+(d<<2)>>2]}q[f>>2]=c;d=q[g+68>>2];q[d+ -4>>2]=y;break k;default:d=q[g+68>>2];u=q[g+64>>2];if((d|0)==(u|0)){break c}c=d+ -4|0;z=q[c>>2];q[g+68>>2]=c;k=q[g+44>>2];q:{if(!k){d=c;break q}i=co(k)>>>0>1;r:{if(!i){f=k+2147483647&j;break r}f=j;if(f>>>0>>0){break r}f=(j>>>0)%(k>>>0)|0}h=q[q[g+40>>2]+(f<<2)>>2];if(!h){d=c;break q}l=q[h>>2];if(!l){d=c;break q}h=k+ -1|0;s:{while(1){n=q[l+4>>2];t:{if((j|0)!=(n|0)){u:{if(!i){n=h&n;break u}if(n>>>0>>0){break u}n=(n>>>0)%(k>>>0)|0}if((f|0)==(n|0)){break t}d=c;break q}if(q[l+8>>2]==(j|0)){break s}}l=q[l>>2];if(l){continue}break}d=c;break q}f=l+12|0;if((c|0)!=q[g+72>>2]){q[c>>2]=q[f>>2];q[g+68>>2]=d;break q}zi(g- -64|0,f);d=q[g+68>>2];u=q[g+64>>2]}if((d|0)==(u|0)){break c}p=q[d+ -4>>2];f=(p|0)==-1;v=q[B>>2];if(q[q[v+12>>2]+(p<<2)>>2]!=-1?!f:0){break c}i=(z|0)==-1;k=v+12|0;h=q[k>>2];if(q[h+(z<<2)>>2]!=-1?!i:0){break c}x=w(j,3);y=x+2|0;q[h+(p<<2)>>2]=y;u=y<<2;q[u+h>>2]=p;c=x+1|0;q[h+(z<<2)>>2]=c;m=h;h=c<<2;q[m+h>>2]=z;if(f){break j}n=-1;m=q[v>>2];f=m+(x<<2)|0;c=p+((p>>>0)%3|0?-1:2)|0;if((c|0)!=-1){n=q[(c<<2)+m>>2]}q[f>>2]=n;c=p+1|0;c=(c>>>0)%3|0?c:p+ -2|0;if((c|0)==-1){break i}e=q[(c<<2)+m>>2];break i;case 5:break l;case 0:case 2:case 4:break c}}q[g>>2]=w(j,3);d=q[B>>2];f=d+24|0;i=q[d+32>>2];c=d+28|0;d=q[c>>2];v:{if((i|0)!=(d|0)){q[d>>2]=-1;m=d+4|0;q[c>>2]=m;break v}zi(f,11312);m=q[c>>2]}u=q[B>>2];n=q[u>>2];d=q[g>>2];k=m-q[f>>2]|0;y=k>>2;c=y+ -1|0;q[n+(d<<2)>>2]=c;d=d+1|0;i=u+24|0;h=u+28|0;f=q[h>>2];w:{if((f|0)!=q[u+32>>2]){q[f>>2]=-1;m=f+4|0;q[h>>2]=m;break w}zi(i,11312);m=q[h>>2];n=q[u>>2]}q[(d<<2)+n>>2]=(m-q[i>>2]>>2)+ -1;d=q[g>>2]+2|0;i=q[B>>2];f=i+28|0;h=q[f>>2];x:{if((h|0)!=q[i+32>>2]){q[h>>2]=-1;n=h+4|0;q[f>>2]=n;break x}zi(i+24|0,11312);n=q[f>>2]}q[q[i>>2]+(d<<2)>>2]=(n-q[i+24>>2]>>2)+ -1;d=q[B>>2];f=q[d+24>>2];if(q[d+28>>2]-f>>2>(C|0)){break c}d=q[g>>2];y:{z:{if(!k){e=1;q[f+(y<<2)>>2]=d+1;break z}q[f+(c<<2)>>2]=d;e=0;if((k|0)==-4){break z}q[f+(y<<2)>>2]=q[g>>2]+1;e=y+1|0;if((e|0)==-1){break y}}q[f+(e<<2)>>2]=q[g>>2]+2}d=q[g+68>>2];if((d|0)!=q[g+72>>2]){q[d>>2]=q[g>>2];d=d+4|0;q[g+68>>2]=d;break k}zi(g- -64|0,g);d=q[g+68>>2]}c=1;break d}n=-1;m=q[v>>2];q[m+(x<<2)>>2]=-1}q[h+m>>2]=e;A:{B:{C:{if(!i){c=z+((z>>>0)%3|0?-1:2)|0;if((c|0)==-1){break C}c=q[(c<<2)+m>>2];q[u+m>>2]=c;if((c|0)==-1){break B}q[q[v+24>>2]+(c<<2)>>2]=y;break B}q[u+m>>2]=-1;l=-1;e=-1;break A}q[u+m>>2]=-1}l=-1;c=z+1|0;c=(c>>>0)%3|0?c:z+ -2|0;e=-1;if((c|0)==-1){break A}l=q[(c<<2)+m>>2];e=c}q[g>>2]=l;h=q[G>>2];f=n<<2;c=h+f|0;q[c>>2]=q[c>>2]+q[h+(l<<2)>>2];h=q[v+24>>2];if((n|0)!=-1){q[f+h>>2]=q[h+(q[g>>2]<<2)>>2]}D:{if((e|0)==-1){break D}f=q[v>>2];while(1){q[f+(e<<2)>>2]=n;c=e+1|0;c=(c>>>0)%3|0?c:e+ -2|0;if((c|0)==-1){break D}e=q[q[k>>2]+(c<<2)>>2];if((e|0)==-1){break D}c=e+1|0;e=(c>>>0)%3|0?c:e+ -2|0;if((e|0)!=-1){continue}break}}q[h+(q[g>>2]<<2)>>2]=-1;E:{if(E){break E}c=q[g+28>>2];if((c|0)!=q[g+32>>2]){q[c>>2]=q[g>>2];q[g+28>>2]=c+4;break E}zi(g+24|0,g);d=q[g+68>>2]}q[d+ -4>>2]=x;c=0}Pi(A,q[d+ -4>>2]);F:{if(!c){break F}d=q[D>>2];if((d|0)==q[a+36>>2]){break F}h=(j^-1)+b|0;while(1){e=-1;c=q[d+ -8>>2];if(c>>>0>h>>>0){break c}if((c|0)!=(h|0)){break F}c=r[d+ -4|0];d=d+ -12|0;f=q[d>>2];q[D>>2]=d;if((f|0)<0){break c}e=q[q[g+68>>2]+ -4>>2];q[g+20>>2]=(f^-1)+b;q[g+88>>2]=g+20;Bi(g,g+40|0,g+20|0,g+88|0);f=q[g>>2];G:{if(c&1){c=-1;if((e|0)==-1){break G}d=e+1|0;c=(d>>>0)%3|0?d:e+ -2|0;break G}c=-1;if((e|0)==-1){break G}c=e+ -1|0;if((e>>>0)%3){break G}c=e+2|0}q[f+12>>2]=c;d=q[D>>2];if((d|0)!=q[a+36>>2]){continue}break}}j=j+1|0;if((j|0)!=(b|0)){continue}break}h=b}e=-1;l=q[a+8>>2];if(q[l+28>>2]-q[l+24>>2]>>2>(C|0)){break c}d=q[g+68>>2];if((d|0)!=q[g+64>>2]){C=a+72|0;b=a+60|0;y=a+312|0;G=a+352|0;E=a+8|0;D=a+68|0;x=a+80|0;v=a+76|0;while(1){c=d+ -4|0;d=q[c>>2];q[g+68>>2]=c;q[g>>2]=d;H:{I:{J:{K:{if(s[a+270>>1]<=513){if(!r[a+364|0]){break J}c=q[a+360>>2];d=q[G>>2]+(c>>>3)|0;if(d>>>0>=t[a+356>>2]){break I}d=r[d|0];q[a+360>>2]=c+1;c=d>>>(c&7)&1;break K}c=dh(y)}if(!c){break I}}k=q[E>>2];z=q[k>>2];if((h|0)>=((q[k+4>>2]-z>>2>>>0)/3|0)){break c}j=-1;l=-1;i=q[k+24>>2];f=i;A=q[g>>2];d=-1;L:{if((A|0)==-1){break L}c=A+1|0;c=(c>>>0)%3|0?c:A+ -2|0;d=-1;if((c|0)==-1){break L}d=q[z+(c<<2)>>2]}f=q[f+(d<<2)>>2];M:{if((f|0)==-1){break M}c=f+1|0;c=(c>>>0)%3|0?c:f+ -2|0;if((c|0)==-1){break M}j=c+1|0;j=(j>>>0)%3|0?j:c+ -2|0;if((j|0)!=-1){l=q[z+(j<<2)>>2]}j=c}p=-1;m=-1;i=q[i+(l<<2)>>2];f=-1;N:{if((i|0)==-1){break N}c=i+1|0;c=(c>>>0)%3|0?c:i+ -2|0;f=-1;if((c|0)==-1){break N}f=c+1|0;f=(f>>>0)%3|0?f:c+ -2|0;if((f|0)!=-1){m=q[z+(f<<2)>>2]}f=c}c=w(h,3);q[g+88>>2]=c;i=q[k+12>>2];q[i+(c<<2)>>2]=A;q[i+(A<<2)>>2]=c;c=q[g+88>>2]+1|0;q[i+(c<<2)>>2]=j;q[i+(j<<2)>>2]=c;c=q[g+88>>2]+2|0;q[i+(c<<2)>>2]=f;q[i+(f<<2)>>2]=c;c=q[g+88>>2];q[z+(c<<2)>>2]=l;u=c+1|0;k=z+(u<<2)|0;q[k>>2]=m;i=c+2|0;f=z+(i<<2)|0;q[f>>2]=d;A=q[a+120>>2];j=u>>>0>>0?-1:l;c=A+(j>>>3&536870908)|0;d=q[c>>2];H=c,I=eo(j)&d,q[H>>2]=I;p=(u|0)!=-1?q[k>>2]:p;c=A+(p>>>3&536870908)|0;d=q[c>>2];H=c,I=eo(p)&d,q[H>>2]=I;d=-1;d=(i|0)!=-1?q[f>>2]:d;j=A+(d>>>3&536870908)|0;c=q[j>>2];H=j,I=eo(d)&c,q[H>>2]=I;d=q[a+64>>2];f=q[D>>2];if((d|0)==f<<5){if((d+1|0)<=-1){break a}c=b;if(d>>>0<=1073741822){j=d+32&-32;d=f<<6;d=d>>>0>>0?j:d}else{d=2147483647}cb(c,d);d=q[a+64>>2]}h=h+1|0;q[a+64>>2]=d+1;c=q[a+60>>2]+(d>>>3&536870908)|0;q[c>>2]=q[c>>2]|1<<(d&31);d=q[v>>2];if((d|0)!=q[x>>2]){q[d>>2]=q[g+88>>2];q[v>>2]=d+4;break H}zi(C,g+88|0);break H}d=q[a+64>>2];f=q[D>>2];if((d|0)==f<<5){if((d+1|0)<=-1){break a}c=b;if(d>>>0<=1073741822){j=d+32&-32;d=f<<6;d=d>>>0>>0?j:d}else{d=2147483647}cb(c,d);d=q[a+64>>2]}q[a+64>>2]=d+1;j=q[a+60>>2]+(d>>>3&536870908)|0;c=q[j>>2];H=j,I=eo(d)&c,q[H>>2]=I;d=q[v>>2];if((d|0)!=q[x>>2]){q[d>>2]=q[g>>2];q[v>>2]=d+4;break H}zi(C,g)}d=q[g+68>>2];if((d|0)!=q[g+64>>2]){continue}break}l=q[a+8>>2]}if(((q[l+4>>2]-q[l>>2]>>2>>>0)/3|0)!=(h|0)){break c}e=q[l+28>>2]-q[l+24>>2]>>2;b=q[g+24>>2];i=q[g+28>>2];if((b|0)==(i|0)){break b}f=a+8|0;while(1){k=q[b>>2];h=q[l+24>>2];d=e+ -1|0;O:{if(q[h+(d<<2)>>2]!=-1){j=e;break O}h=q[l+24>>2];while(1){d=e+ -2|0;j=e+ -1|0;e=j;if(q[(d<<2)+h>>2]==-1){continue}break}}if(d>>>0>=k>>>0){q[g>>2]=l;c=d<<2;e=q[c+h>>2];o[g+12|0]=1;q[g+8>>2]=e;q[g+4>>2]=e;if((e|0)!=-1){while(1){q[q[l>>2]+(e<<2)>>2]=k;lg(g);l=q[f>>2];e=q[g+8>>2];if((e|0)!=-1){continue}break}}e=c;c=q[l+24>>2];e=e+c|0;if((k|0)!=-1){q[c+(k<<2)>>2]=q[e>>2]}q[e>>2]=-1;E=1<<(k&31);e=q[a+120>>2];k=e+(k>>>3&536870908)|0;c=k;h=e+(d>>>3&536870908)|0;d=1<<(d&31);e=E|q[k>>2];P:{if(q[h>>2]&d){break P}e=q[k>>2]&(E^-1)}q[c>>2]=e;q[h>>2]=q[h>>2]&(d^-1);j=j+ -1|0}e=j;b=b+4|0;if((i|0)!=(b|0)){continue}break}}b=q[g+24>>2]}if(b){q[g+28>>2]=b;An(b)}d=q[g+48>>2];if(d){while(1){a=q[d>>2];An(d);d=a;if(d){continue}break}}a=q[g+40>>2];q[g+40>>2]=0;if(a){An(a)}a=q[g+64>>2];if(a){q[g+68>>2]=a;An(a)}T=g+96|0;return e}bn();F()}function Ni(a,b){var o=0,r=0,s=0,t=0,J=0,K=0,L=0,M=0,N=0;s=q[a+8>>2];t=a+4|0;o=q[t>>2];if((s-o|0)/12>>>0>=b>>>0){a=w(b,12);M=t,N=Dn(o,0,a)+a|0,q[M>>2]=N;return}a:{t=q[a>>2];r=(o-t|0)/12|0;J=r+b|0;if(J>>>0<357913942){L=w(r,12);s=(s-t|0)/12|0;r=s<<1;r=s>>>0<178956970?r>>>0>>0?J:r:357913941;if(r){if(r>>>0>=357913942){break a}K=Mm(w(r,12))}s=K+L|0;Dn(s,0,w(b,12));b=w(J,12)+K|0;J=w(r,12)+K|0;if((o|0)!=(t|0)){while(1){s=s+ -12|0;q[s>>2]=0;q[s+4>>2]=0;r=s+8|0;q[r>>2]=0;o=o+ -12|0;q[s>>2]=q[o>>2];q[s+4>>2]=q[o+4>>2];K=r;r=o+8|0;q[K>>2]=q[r>>2];q[r>>2]=0;q[o>>2]=0;q[o+4>>2]=0;if((o|0)!=(t|0)){continue}break}t=q[a>>2];o=q[a+4>>2]}q[a>>2]=s;q[a+8>>2]=J;q[a+4>>2]=b;if((o|0)!=(t|0)){while(1){a=o+ -12|0;b=q[a>>2];if(b){q[o+ -8>>2]=b;An(b)}o=a;if((o|0)!=(t|0)){continue}break}}if(t){An(t)}return}bn();F()}ab(12024);F()}function Oi(a){var b=0,F=0,O=0,P=0,Q=0,R=0,S=0;b=q[a+172>>2];if((b|0)!=-1){F=q[a+196>>2]+(b<<2)|0;O=q[F>>2];b=O+ -1|0;q[F>>2]=b;if((O|0)<1){return 9}F=a;a=q[(q[q[q[a+184>>2]+w(q[a+172>>2],12)>>2]+(b<<2)>>2]<<2)+12096>>2];q[F+168>>2]=a;return a}b=7;F=q[a+144>>2];F=s[(n[q[q[F>>2]+32>>2]](F)|0)+36>>1];a:{if((F<<24|F<<8&16711680)>>>16>>>0>513){break a}if(!r[a+76|0]){q[a+168>>2]=1;return 1}b=0;Q=q[a- -64>>2];O=q[a+72>>2];F=Q+(O>>>3)|0;R=q[a+68>>2];if(F>>>0>=R>>>0){break a}P=r[F|0];F=O+1|0;q[a+72>>2]=F;if(!(P>>>(O&7)&1)){break a}P=F>>>3;b=Q+P|0;b:{if(b>>>0>=R>>>0){b=F;F=0;break b}S=r[b|0];b=O+2|0;q[a+72>>2]=b;P=b>>>3;F=S>>>(F&7)&1}O=P+Q|0;if(O>>>0>>0){O=r[O|0];q[a+72>>2]=b+1;b=O>>>(b&7)<<1&2}else{b=0}b=(F|b)<<1|1}q[a+168>>2]=b;return b}function Pi(a,w){var T=0,U=0,V=0,W=0,X=0;W=-1;U=-1;a:{if((w|0)==-1){break a}U=w+1|0;W=(U>>>0)%3|0?U:w+ -2|0;U=w+ -1|0;if((w>>>0)%3){break a}U=w+2|0}T=q[a+168>>2];b:{if(T>>>0>7){break b}c:{d:{switch(T-2|0){default:T=q[a+148>>2];V=1;w=q[a+156>>2];X=w+(((W|0)!=-1?q[q[T>>2]+(W<<2)>>2]:-1)<<2)|0;q[X>>2]=q[X>>2]+1;w=(((U|0)!=-1?q[q[T>>2]+(U<<2)>>2]:-1)<<2)+w|0;break c;case 3:V=q[a+148>>2];T=-1;T=((w|0)!=-1?q[q[V>>2]+(w<<2)>>2]:T)<<2;w=q[a+156>>2];T=T+w|0;q[T>>2]=q[T>>2]+1;T=(((W|0)!=-1?q[q[V>>2]+(W<<2)>>2]:-1)<<2)+w|0;q[T>>2]=q[T>>2]+1;T=-1;T=(U|0)!=-1?q[q[V>>2]+(U<<2)>>2]:T;V=2;w=w+(T<<2)|0;break c;case 1:V=q[a+148>>2];T=-1;T=((w|0)!=-1?q[q[V>>2]+(w<<2)>>2]:T)<<2;w=q[a+156>>2];T=T+w|0;q[T>>2]=q[T>>2]+1;T=(((W|0)!=-1?q[q[V>>2]+(W<<2)>>2]:-1)<<2)+w|0;q[T>>2]=q[T>>2]+2;w=(((U|0)!=-1?q[q[V>>2]+(U<<2)>>2]:-1)<<2)+w|0;V=1;break c;case 0:case 2:case 4:break b;case 5:break d}}V=q[a+148>>2];T=-1;T=((w|0)!=-1?q[q[V>>2]+(w<<2)>>2]:T)<<2;w=q[a+156>>2];T=T+w|0;q[T>>2]=q[T>>2]+2;T=(((W|0)!=-1?q[q[V>>2]+(W<<2)>>2]:-1)<<2)+w|0;q[T>>2]=q[T>>2]+2;T=-1;T=(U|0)!=-1?q[q[V>>2]+(U<<2)>>2]:T;V=2;w=w+(T<<2)|0}q[w>>2]=q[w>>2]+V}T=-1;T=(W|0)!=-1?q[q[q[a+148>>2]>>2]+(W<<2)>>2]:T;W=q[a+176>>2];w=W;U=a;T=q[q[a+156>>2]+(T<<2)>>2];if((T|0)>=(w|0)){a=q[a+180>>2];w=(T|0)>(a|0)?a:T}q[U+172>>2]=w-W}function Qi(a){a=a|0;var w=0,Y=0,Z=0,_=0,$=0;q[a>>2]=11272;w=a+368|0;Z=q[w>>2];q[w>>2]=0;if(Z){Y=Z+ -4|0;w=q[Y>>2];if(w){w=Z+(w<<4)|0;while(1){w=w+ -16|0;if((Z|0)!=(w|0)){continue}break}}An(Y)}Z=q[a+216>>2];if(Z){$=a+220|0;w=q[$>>2];Y=Z;a:{if((Z|0)==(w|0)){break a}while(1){Y=q[w+ -12>>2];if(Y){q[w+ -8>>2]=Y;An(Y)}Y=q[w+ -28>>2];if(Y){q[w+ -24>>2]=Y;An(Y)}Y=w+ -144|0;_=q[w+ -40>>2];if(_){q[w+ -36>>2]=_;An(_)}pi(w+ -140|0);w=Y;if((Z|0)!=(w|0)){continue}break}Y=q[a+216>>2]}q[$>>2]=Z;An(Y)}w=q[a+196>>2];if(w){q[a+200>>2]=w;An(w)}w=q[a+184>>2];if(w){q[a+188>>2]=w;An(w)}w=q[a+172>>2];if(w){q[a+176>>2]=w;An(w)}w=q[a+160>>2];if(w){q[a+164>>2]=w;An(w)}w=q[a+144>>2];if(w){while(1){Z=q[w>>2];An(w);w=Z;if(w){continue}break}}Z=a+136|0;w=q[Z>>2];q[Z>>2]=0;if(w){An(w)}w=q[a+120>>2];if(w){An(w)}w=q[a+108>>2];if(w){An(w)}w=q[a+96>>2];if(w){An(w)}w=q[a+72>>2];if(w){q[a+76>>2]=w;An(w)}w=q[a+60>>2];if(w){An(w)}w=q[a+48>>2];if(w){q[a+52>>2]=w;An(w)}w=q[a+36>>2];if(w){q[a+40>>2]=w;An(w)}w=q[a+24>>2];if(w){q[a+28>>2]=w;An(w)}w=q[a+12>>2];if(w){q[a+16>>2]=w;An(w)}w=q[a+8>>2];q[a+8>>2]=0;if(w){wa(a+8|0,w)}return a|0}function Ri(a){a=a|0;An(Qi(a))}function Si(a){a=a|0;var aa=0,ba=0,ca=0,da=0,ea=0;q[a>>2]=11324;aa=q[a+388>>2];if(aa){q[a+392>>2]=aa;An(aa)}aa=a+368|0;ca=q[aa>>2];q[aa>>2]=0;if(ca){ba=ca+ -4|0;aa=q[ba>>2];if(aa){aa=ca+(aa<<4)|0;while(1){aa=aa+ -16|0;if((ca|0)!=(aa|0)){continue}break}}An(ba)}ca=q[a+216>>2];if(ca){ea=a+220|0;aa=q[ea>>2];ba=ca;a:{if((ca|0)==(aa|0)){break a}while(1){ba=q[aa+ -12>>2];if(ba){q[aa+ -8>>2]=ba;An(ba)}ba=q[aa+ -28>>2];if(ba){q[aa+ -24>>2]=ba;An(ba)}ba=aa+ -144|0;da=q[aa+ -40>>2];if(da){q[aa+ -36>>2]=da;An(da)}pi(aa+ -140|0);aa=ba;if((ca|0)!=(aa|0)){continue}break}ba=q[a+216>>2]}q[ea>>2]=ca;An(ba)}aa=q[a+196>>2];if(aa){q[a+200>>2]=aa;An(aa)}aa=q[a+184>>2];if(aa){q[a+188>>2]=aa;An(aa)}aa=q[a+172>>2];if(aa){q[a+176>>2]=aa;An(aa)}aa=q[a+160>>2];if(aa){q[a+164>>2]=aa;An(aa)}aa=q[a+144>>2];if(aa){while(1){ca=q[aa>>2];An(aa);aa=ca;if(aa){continue}break}}ca=a+136|0;aa=q[ca>>2];q[ca>>2]=0;if(aa){An(aa)}aa=q[a+120>>2];if(aa){An(aa)}aa=q[a+108>>2];if(aa){An(aa)}aa=q[a+96>>2];if(aa){An(aa)}aa=q[a+72>>2];if(aa){q[a+76>>2]=aa;An(aa)}aa=q[a+60>>2];if(aa){An(aa)}aa=q[a+48>>2];if(aa){q[a+52>>2]=aa;An(aa)}aa=q[a+36>>2];if(aa){q[a+40>>2]=aa;An(aa)}aa=q[a+24>>2];if(aa){q[a+28>>2]=aa;An(aa)}aa=q[a+12>>2];if(aa){q[a+16>>2]=aa;An(aa)}aa=q[a+8>>2];q[a+8>>2]=0;if(aa){wa(a+8|0,aa)}return a|0}function Ti(a){a=a|0;An(Si(a))}function Ui(a){a=a|0;var fa=0,ga=0,ha=0,ia=0,ja=0;q[a>>2]=11372;Vi(a+232|0);ia=q[a+216>>2];if(ia){ga=ia;ja=a+220|0;fa=q[ja>>2];ha=ga;a:{if((ga|0)==(fa|0)){break a}while(1){ga=q[fa+ -12>>2];if(ga){q[fa+ -8>>2]=ga;An(ga)}ga=q[fa+ -28>>2];if(ga){q[fa+ -24>>2]=ga;An(ga)}ga=fa+ -144|0;ha=q[fa+ -40>>2];if(ha){q[fa+ -36>>2]=ha;An(ha)}pi(fa+ -140|0);fa=ga;if((ia|0)!=(fa|0)){continue}break}ha=q[a+216>>2]}ga=ha;q[ja>>2]=ia;An(ga)}fa=q[a+196>>2];if(fa){q[a+200>>2]=fa;An(fa)}fa=q[a+184>>2];if(fa){q[a+188>>2]=fa;An(fa)}fa=q[a+172>>2];if(fa){q[a+176>>2]=fa;An(fa)}fa=q[a+160>>2];if(fa){q[a+164>>2]=fa;An(fa)}fa=q[a+144>>2];if(fa){while(1){ga=q[fa>>2];An(fa);fa=ga;if(fa){continue}break}}fa=a+136|0;ga=q[fa>>2];q[fa>>2]=0;if(ga){An(ga)}fa=q[a+120>>2];if(fa){An(fa)}fa=q[a+108>>2];if(fa){An(fa)}fa=q[a+96>>2];if(fa){An(fa)}fa=q[a+72>>2];if(fa){q[a+76>>2]=fa;An(fa)}fa=q[a+60>>2];if(fa){An(fa)}fa=q[a+48>>2];if(fa){q[a+52>>2]=fa;An(fa)}fa=q[a+36>>2];if(fa){q[a+40>>2]=fa;An(fa)}fa=q[a+24>>2];if(fa){q[a+28>>2]=fa;An(fa)}fa=q[a+12>>2];if(fa){q[a+16>>2]=fa;An(fa)}fa=q[a+8>>2];q[a+8>>2]=0;if(fa){wa(a+8|0,fa)}return a|0}function Vi(a){var ka=0,la=0,ma=0,na=0,oa=0;ka=q[a+196>>2];if(ka){q[a+200>>2]=ka;An(ka)}ka=q[a+184>>2];if(ka){oa=a+188|0;la=q[oa>>2];ma=ka;a:{if((ka|0)==(la|0)){break a}while(1){ma=la+ -12|0;na=q[ma>>2];if(na){q[la+ -8>>2]=na;An(na)}la=ma;if((la|0)!=(ka|0)){continue}break}ma=q[a+184>>2]}q[oa>>2]=ka;An(ma)}ka=q[a+156>>2];if(ka){q[a+160>>2]=ka;An(ka)}ka=a+136|0;a=q[ka>>2];q[ka>>2]=0;if(a){la=a+ -4|0;ka=q[la>>2];if(ka){ka=a+(ka<<4)|0;while(1){ka=ka+ -16|0;if((a|0)!=(ka|0)){continue}break}}An(la)}}function Wi(a){a=a|0;An(Ui(a))}function Xi(a){a=a|0;var pa=0;q[a>>2]=11760;pa=q[a+48>>2];if(pa){q[a+52>>2]=pa;An(pa)}q[a>>2]=12012;pa=q[a+36>>2];if(pa){An(pa)}pa=q[a+24>>2];if(pa){An(pa)}An(a)}function Yi(a){a=a|0;var qa=0;q[a>>2]=12012;qa=q[a+36>>2];if(qa){An(qa)}qa=q[a+24>>2];if(qa){An(qa)}return a|0}function Zi(a){a=a|0;var ra=0;q[a>>2]=12012;ra=q[a+36>>2];if(ra){An(ra)}ra=q[a+24>>2];if(ra){An(ra)}An(a)}function _i(a,sa,ta){a=a|0;sa=sa|0;ta=ta|0;var ua=0,va=0;ua=T-16|0;T=ua;q[a+4>>2]=sa;va=q[sa+4>>2];sa=q[sa>>2];o[ua+15|0]=0;bb(a+24|0,(va-sa>>2>>>0)/3|0,ua+15|0);sa=q[a+4>>2];va=q[sa+28>>2];sa=q[sa+24>>2];o[ua+14|0]=0;bb(a+36|0,va-sa>>2,ua+14|0);sa=q[ta+12>>2];q[a+16>>2]=q[ta+8>>2];q[a+20>>2]=sa;sa=q[ta+4>>2];q[a+8>>2]=q[ta>>2];q[a+12>>2]=sa;T=ua+16|0}function $i(a,sa){var ta=0,wa=0,xa=0;a:{if((a|0)!=(sa|0)){xa=a;ta=q[sa+4>>2];wa=0;b:{if(!ta){break b}c:{if(ta>>>0<=q[a+8>>2]<<5>>>0){wa=q[a>>2];break c}wa=q[a>>2];if(wa){An(wa);q[a+8>>2]=0;q[a>>2]=0;q[a+4>>2]=0;ta=q[sa+4>>2]}if((ta|0)<=-1){break a}ta=(ta+ -1>>>5)+1|0;wa=Mm(ta<<2);q[a+8>>2]=ta;q[a+4>>2]=0;q[a>>2]=wa;ta=q[sa+4>>2]}En(wa,q[sa>>2],(ta+ -1>>>3&536870908)+4|0);wa=q[sa+4>>2]}q[xa+4>>2]=wa}return}bn();F()}function aj(a){a=a|0;var sa=0;q[a>>2]=12336;sa=q[a+88>>2];if(sa){q[a+92>>2]=sa;An(sa)}sa=q[a+72>>2];if(sa){q[a+76>>2]=sa;An(sa)}sa=q[a+60>>2];if(sa){q[a- -64>>2]=sa;An(sa)}sa=q[a+48>>2];if(sa){q[a+52>>2]=sa;An(sa)}q[a>>2]=12572;sa=q[a+36>>2];if(sa){An(sa)}sa=q[a+24>>2];if(sa){An(sa)}return a|0}function bj(a){a=a|0;var ya=0;q[a>>2]=12124;q[a+8>>2]=12336;ya=q[a+96>>2];if(ya){q[a+100>>2]=ya;An(ya)}ya=q[a+80>>2];if(ya){q[a+84>>2]=ya;An(ya)}ya=q[a+68>>2];if(ya){q[a+72>>2]=ya;An(ya)}ya=q[a+56>>2];if(ya){q[a+60>>2]=ya;An(ya)}q[a+8>>2]=12572;ya=q[a+44>>2];if(ya){An(ya)}ya=q[a+32>>2];if(ya){An(ya)}return a|0}function cj(a){a=a|0;var za=0;q[a>>2]=12124;q[a+8>>2]=12336;za=q[a+96>>2];if(za){q[a+100>>2]=za;An(za)}za=q[a+80>>2];if(za){q[a+84>>2]=za;An(za)}za=q[a+68>>2];if(za){q[a+72>>2]=za;An(za)}za=q[a+56>>2];if(za){q[a+60>>2]=za;An(za)}q[a+8>>2]=12572;za=q[a+44>>2];if(za){An(za)}za=q[a+32>>2];if(za){An(za)}An(a)}function dj(a,Aa){a=a|0;Aa=Aa|0;var Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;Ja=q[a+12>>2];Ba=q[a+108>>2];Ca=q[Ba+80>>2];o[Aa+84|0]=0;Fa=q[Aa+68>>2];Da=q[Aa+72>>2]-Fa>>2;a:{if(Ca>>>0>Da>>>0){md(Aa+68|0,Ca-Da|0,12324);Ba=q[a+108>>2];Ca=q[Ba+80>>2];break a}if(Ca>>>0>=Da>>>0){break a}q[Aa+72>>2]=Fa+(Ca<<2)}Ia=q[Ba+96>>2];Ba=q[Ba+100>>2]-Ia|0;Ka=(Ba|0)/12|0;if(!Ba){return 1}La=Aa+68|0;Aa=0;b:{while(1){c:{if((Aa|0)==1431655765){break c}Ba=q[Ja>>2]+(w(Aa,3)<<2)|0;Fa=q[Ba>>2];if((Fa|0)==-1){break c}Da=w(Aa,12)+Ia|0;Ga=q[Da>>2];if(Ga>>>0>=Ca>>>0){break c}Ea=Fa<<2;Fa=q[q[a+112>>2]+12>>2];Ea=q[Ea+Fa>>2];if(Ea>>>0>=Ca>>>0){break c}Ha=Ga<<2;Ga=q[La>>2];q[Ha+Ga>>2]=Ea;Ea=q[Ba+4>>2];if((Ea|0)==-1){break c}Ha=q[Da+4>>2];if(Ha>>>0>=Ca>>>0){break c}Ea=q[Fa+(Ea<<2)>>2];if(Ea>>>0>=Ca>>>0){break c}q[Ga+(Ha<<2)>>2]=Ea;Ba=q[Ba+8>>2];if((Ba|0)==-1){break c}Da=q[Da+8>>2];if(Da>>>0>=Ca>>>0){break c}Ba=q[Fa+(Ba<<2)>>2];if(Ba>>>0>=Ca>>>0){break c}q[Ga+(Da<<2)>>2]=Ba;Ba=1;Aa=Aa+1|0;if(Aa>>>0>>0){continue}break b}break}Ba=0}return Ba|0}function ej(a){a=a|0;var Aa=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0;Pa=T-16|0;T=Pa;Ma=q[a+4>>2];Aa=q[Ma>>2];a:{Sa=a+12|0;Na=q[Sa>>2];Oa=q[Na+28>>2]-q[Na+24>>2]|0;Na=Oa>>2;b:{if(q[Ma+8>>2]-Aa>>2>>>0>=Na>>>0){break b}if(Na>>>0>=1073741824){break a}Ta=Ma+4|0;Qa=q[Ta>>2];Ra=Na<<2;Na=Mm(Oa);Ra=Ra+Na|0;Oa=Qa-Aa|0;Qa=Oa+Na|0;if((Oa|0)>=1){Cn(Na,Aa,Oa)}q[Ma>>2]=Na;q[Ma+8>>2]=Ra;q[Ta>>2]=Qa;if(!Aa){break b}An(Aa)}Aa=q[Sa>>2];Ma=q[Aa+24>>2];Aa=q[Aa+28>>2];q[Pa+12>>2]=0;Aa=Aa-Ma>>2;Na=a+96|0;Oa=q[Na>>2];Ma=q[a+100>>2]-Oa>>2;c:{if(Aa>>>0>Ma>>>0){Ad(Na,Aa-Ma|0,Pa+12|0);break c}if(Aa>>>0>=Ma>>>0){break c}q[a+100>>2]=Oa+(Aa<<2)}Oa=a+8|0;d:{e:{Aa=q[a+116>>2];if(Aa){Na=q[Aa>>2];Ma=1;if((Na|0)==q[Aa+4>>2]){break d}Aa=0;while(1){if(!fj(Oa,q[(Aa<<2)+Na>>2])){break e}Ma=q[a+116>>2];Na=q[Ma>>2];Aa=Aa+1|0;if(Aa>>>0>2]-Na>>2>>>0){continue}break}Ma=1;break d}Aa=0;a=q[a+12>>2];a=(q[a+4>>2]-q[a>>2]>>2>>>0)/3|0;Ma=1;if((a|0)<=0){break d}while(1){if(!fj(Oa,w(Aa,3))){break e}Aa=Aa+1|0;if(Aa>>>0>>0){continue}break}Ma=1;break d}Ma=0}T=Pa+16|0;return Ma|0}ab(12024);F()}function fj(a,Ua){var Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0;Ya=T-32|0;T=Ya;q[Ya+8>>2]=Ua;a:{if(q[a+92>>2]==q[a+88>>2]){break a}Xa=a+52|0;Va=q[Xa>>2];b:{if((Va|0)!=q[a+56>>2]){q[Va>>2]=Ua;q[Xa>>2]=Va+4;break b}zi(a+48|0,Ya+8|0)}q[a+84>>2]=0;Ua=-1;Xa=-1;Va=q[Ya+8>>2];c:{if((Va|0)==-1){break c}Wa=q[a+4>>2];Za=Va+1|0;Za=(Za>>>0)%3|0?Za:Va+ -2|0;if((Za|0)!=-1){Ua=q[q[Wa>>2]+(Za<<2)>>2]}Va=Va+((Va>>>0)%3|0?-1:2)|0;if((Va|0)==-1){break c}Xa=q[q[Wa>>2]+(Va<<2)>>2]}Va=q[a+36>>2];Wa=Va+(Ua>>>3&536870908)|0;Za=q[Wa>>2];$a=1<<(Ua&31);if(!(Za&$a)){q[Wa>>2]=Za|$a;Va=-1;Wa=q[Ya+8>>2];if((Wa|0)!=-1){Va=Wa+1|0;Va=(Va>>>0)%3|0?Va:Wa+ -2|0}q[Ya+16>>2]=Va;Wa=q[a+20>>2];Za=(Va>>>0)/3|0;Za=q[(q[q[a+16>>2]+96>>2]+w(Za,12)|0)+(Va-w(Za,3)<<2)>>2];q[Ya+24>>2]=Za;Wa=q[Wa+4>>2];$a=Wa+4|0;Va=q[$a>>2];d:{if((Va|0)!=q[Wa+8>>2]){q[Va>>2]=Za;q[$a>>2]=Va+4;break d}zi(Wa,Ya+24|0)}Za=a+12|0;Va=q[Za>>2];$a=Va+4|0;Wa=q[$a>>2];e:{if((Wa|0)!=q[Va+8>>2]){q[Wa>>2]=q[Ya+16>>2];q[$a>>2]=Wa+4;break e}zi(Va,Ya+16|0);Va=q[Za>>2]}q[q[Va+12>>2]+(Ua<<2)>>2]=q[Va+24>>2];q[Va+24>>2]=q[Va+24>>2]+1;Va=q[a+36>>2]}Ua=Va+(Xa>>>3&536870908)|0;Va=q[Ua>>2];Wa=1<<(Xa&31);if(!(Va&Wa)){q[Ua>>2]=Va|Wa;Ua=Ya;ab=Ua;Wa=q[Ua+8>>2];Va=-1;f:{if((Wa|0)==-1){break f}Va=Wa+ -1|0;if((Wa>>>0)%3){break f}Va=Wa+2|0}q[ab+16>>2]=Va;Ua=q[a+20>>2];Wa=(Va>>>0)/3|0;Wa=q[(q[q[a+16>>2]+96>>2]+w(Wa,12)|0)+(Va-w(Wa,3)<<2)>>2];q[Ya+24>>2]=Wa;Va=q[Ua+4>>2];Za=Va+4|0;Ua=q[Za>>2];g:{if((Ua|0)!=q[Va+8>>2]){q[Ua>>2]=Wa;q[Za>>2]=Ua+4;break g}zi(Va,Ya+24|0)}Wa=a+12|0;Ua=q[Wa>>2];Za=Ua+4|0;Va=q[Za>>2];h:{if((Va|0)!=q[Ua+8>>2]){q[Va>>2]=q[Ya+16>>2];q[Za>>2]=Va+4;break h}zi(Ua,Ya+16|0);Ua=q[Wa>>2]}q[q[Ua+12>>2]+(Xa<<2)>>2]=q[Ua+24>>2];q[Ua+24>>2]=q[Ua+24>>2]+1}Ua=-1;Va=q[Ya+8>>2];if((Va|0)!=-1){Ua=q[q[q[a+4>>2]>>2]+(Va<<2)>>2]}Va=q[a+36>>2]+(Ua>>>3&536870908)|0;Xa=q[Va>>2];Wa=1<<(Ua&31);if(!(Xa&Wa)){q[Va>>2]=Wa|Xa;Va=q[Ya+8>>2];q[Ya+16>>2]=Va;Xa=q[a+20>>2];Wa=(Va>>>0)/3|0;Wa=q[(q[q[a+16>>2]+96>>2]+w(Wa,12)|0)+(Va-w(Wa,3)<<2)>>2];q[Ya+24>>2]=Wa;Xa=q[Xa+4>>2];Za=Xa+4|0;Va=q[Za>>2];i:{if((Va|0)!=q[Xa+8>>2]){q[Va>>2]=Wa;q[Za>>2]=Va+4;break i}zi(Xa,Ya+24|0)}Wa=a+12|0;Xa=q[Wa>>2];Za=Xa+4|0;Va=q[Za>>2];j:{if((Va|0)!=q[Xa+8>>2]){q[Va>>2]=q[Ya+16>>2];q[Za>>2]=Va+4;break j}zi(Xa,Ya+16|0);Xa=q[Wa>>2]}q[q[Xa+12>>2]+(Ua<<2)>>2]=q[Xa+24>>2];q[Xa+24>>2]=q[Xa+24>>2]+1}Va=q[a+84>>2];k:{if((Va|0)>2){break k}Za=a+24|0;$a=a+36|0;eb=a+16|0;fb=a+20|0;cb=a+88|0;while(1){Xa=w(Va,12)+a|0;Wa=Xa+52|0;Ua=q[Wa>>2];if((Ua|0)==q[Xa+48>>2]){Ua=(Va|0)<2;Va=Va+1|0;if(Ua){continue}break k}Xa=Ua+ -4|0;Ua=q[Xa>>2];q[Wa>>2]=Xa;q[a+84>>2]=Va;q[Ya+8>>2]=Ua;if((Ua|0)==-1){break a}Xa=q[Za>>2];Wa=(Ua>>>0)/3|0;l:{if(q[Xa+(Wa>>>3&268435452)>>2]>>>(Wa&31)&1){break l}m:{while(1){Ua=(Ua>>>0)/3|0;Va=(Ua>>>3&268435452)+Xa|0;q[Va>>2]=q[Va>>2]|1<<(Ua&31);Ua=-1;Xa=q[Ya+8>>2];if((Xa|0)!=-1){Ua=q[q[q[a+4>>2]>>2]+(Xa<<2)>>2]}Va=q[$a>>2]+(Ua>>>3&536870908)|0;Wa=q[Va>>2];_a=1<<(Ua&31);if(!(Wa&_a)){q[Va>>2]=Wa|_a;Va=q[Ya+8>>2];q[Ya+16>>2]=Va;Xa=q[fb>>2];Wa=(Va>>>0)/3|0;Wa=q[(q[q[eb>>2]+96>>2]+w(Wa,12)|0)+(Va-w(Wa,3)<<2)>>2];q[Ya+24>>2]=Wa;Xa=q[Xa+4>>2];_a=Xa+4|0;Va=q[_a>>2];n:{if((Va|0)!=q[Xa+8>>2]){q[Va>>2]=Wa;q[_a>>2]=Va+4;break n}zi(Xa,Ya+24|0)}Wa=a+12|0;Xa=q[Wa>>2];_a=Xa+4|0;Va=q[_a>>2];o:{if((Va|0)!=q[Xa+8>>2]){q[Va>>2]=q[Ya+16>>2];q[_a>>2]=Va+4;break o}zi(Xa,Ya+16|0);Xa=q[Wa>>2]}q[q[Xa+12>>2]+(Ua<<2)>>2]=q[Xa+24>>2];q[Xa+24>>2]=q[Xa+24>>2]+1;Xa=q[Ya+8>>2]}if((Xa|0)==-1){break m}db=a+4|0;_a=q[db>>2];Ua=-1;Va=-1;Wa=Xa+1|0;Wa=(Wa>>>0)%3|0?Wa:Xa+ -2|0;if((Wa|0)!=-1){Va=q[q[_a+12>>2]+(Wa<<2)>>2]}Xa=((Xa>>>0)%3|0?-1:2)+Xa|0;if((Xa|0)!=-1){Ua=q[q[_a+12>>2]+(Xa<<2)>>2]}Wa=(Ua>>>0)/3|0;bb=(Va>>>0)/3|0;ab=(Va|0)==-1;Xa=1;p:{if(ab){break p}Xa=ab?-1:bb;Xa=q[q[Za>>2]+(Xa>>>3&536870908)>>2]>>>(Xa&31)&1}q:{r:{s:{if((Ua|0)==-1){if(!Xa){break s}break m}Wa=(Ua|0)==-1?-1:Wa;t:{if(q[q[Za>>2]+(Wa>>>3&536870908)>>2]>>>(Wa&31)&1){break t}Wa=0;ab=Xa;_a=q[q[_a>>2]+(Ua<<2)>>2];if(!(q[q[$a>>2]+(_a>>>3&536870908)>>2]>>>(_a&31)&1)){_a=q[cb>>2]+(_a<<2)|0;Wa=q[_a>>2];q[_a>>2]=Wa+1;Wa=(Wa|0)<1?2:1}if((Wa|0)<=q[a+84>>2]?ab:0){break r}q[Ya+24>>2]=Ua;bb=w(Wa,12)+a|0;ab=bb+52|0;_a=q[ab>>2];u:{if((_a|0)!=q[bb+56>>2]){q[_a>>2]=Ua;q[ab>>2]=_a+4;break u}zi(bb+48|0,Ya+24|0)}if(q[a+84>>2]<=(Wa|0)){break t}q[a+84>>2]=Wa}if(Xa){break m}}Ua=-1;Xa=0;Ua=(Va|0)!=-1?q[q[q[db>>2]>>2]+(Va<<2)>>2]:Ua;if(!(q[q[$a>>2]+(Ua>>>3&536870908)>>2]>>>(Ua&31)&1)){Xa=q[cb>>2]+(Ua<<2)|0;Ua=q[Xa>>2];q[Xa>>2]=Ua+1;Xa=(Ua|0)<1?2:1}if((Xa|0)>q[a+84>>2]){break q}Ua=Va}q[Ya+8>>2]=Ua;Xa=q[Za>>2];continue}break}q[Ya+24>>2]=Va;Wa=w(Xa,12)+a|0;_a=Wa+52|0;Ua=q[_a>>2];v:{if((Ua|0)!=q[Wa+56>>2]){q[Ua>>2]=Va;q[_a>>2]=Ua+4;break v}zi(Wa+48|0,Ya+24|0)}Va=q[a+84>>2];if((Va|0)<=(Xa|0)){break l}q[a+84>>2]=Xa;Va=Xa;break l}Va=q[a+84>>2]}if((Va|0)<3){continue}break}}q[Ya+8>>2]=-1}T=Ya+32|0;return 1}function gj(a){a=a|0;var Ua=0;q[a>>2]=12336;Ua=q[a+88>>2];if(Ua){q[a+92>>2]=Ua;An(Ua)}Ua=q[a+72>>2];if(Ua){q[a+76>>2]=Ua;An(Ua)}Ua=q[a+60>>2];if(Ua){q[a- -64>>2]=Ua;An(Ua)}Ua=q[a+48>>2];if(Ua){q[a+52>>2]=Ua;An(Ua)}q[a>>2]=12572;Ua=q[a+36>>2];if(Ua){An(Ua)}Ua=q[a+24>>2];if(Ua){An(Ua)}An(a)}function hj(a){a=a|0;var gb=0;q[a>>2]=12572;gb=q[a+36>>2];if(gb){An(gb)}gb=q[a+24>>2];if(gb){An(gb)}return a|0}function ij(a){a=a|0;var hb=0;q[a>>2]=12572;hb=q[a+36>>2];if(hb){An(hb)}hb=q[a+24>>2];if(hb){An(hb)}An(a)}function jj(a){a=a|0;var ib=0;q[a>>2]=12756;ib=q[a+48>>2];if(ib){q[a+52>>2]=ib;An(ib)}q[a>>2]=12572;ib=q[a+36>>2];if(ib){An(ib)}ib=q[a+24>>2];if(ib){An(ib)}return a|0}function kj(a){a=a|0;var jb=0,kb=0;q[a>>2]=12592;kb=a+8|0;q[kb>>2]=12756;jb=q[a+56>>2];if(jb){q[a+60>>2]=jb;An(jb)}q[kb>>2]=12572;jb=q[a+44>>2];if(jb){An(jb)}jb=q[a+32>>2];if(jb){An(jb)}return a|0}function lj(a){a=a|0;var lb=0,mb=0;q[a>>2]=12592;mb=a+8|0;q[mb>>2]=12756;lb=q[a+56>>2];if(lb){q[a+60>>2]=lb;An(lb)}q[mb>>2]=12572;lb=q[a+44>>2];if(lb){An(lb)}lb=q[a+32>>2];if(lb){An(lb)}An(a)}function mj(a,nb){a=a|0;nb=nb|0;var ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0;wb=q[a+12>>2];ob=q[a+68>>2];pb=q[ob+80>>2];o[nb+84|0]=0;sb=q[nb+68>>2];qb=q[nb+72>>2]-sb>>2;a:{if(pb>>>0>qb>>>0){md(nb+68|0,pb-qb|0,12324);ob=q[a+68>>2];pb=q[ob+80>>2];break a}if(pb>>>0>=qb>>>0){break a}q[nb+72>>2]=sb+(pb<<2)}vb=q[ob+96>>2];ob=q[ob+100>>2]-vb|0;xb=(ob|0)/12|0;if(!ob){return 1}yb=nb+68|0;nb=0;b:{while(1){c:{if((nb|0)==1431655765){break c}ob=q[wb>>2]+(w(nb,3)<<2)|0;sb=q[ob>>2];if((sb|0)==-1){break c}qb=w(nb,12)+vb|0;tb=q[qb>>2];if(tb>>>0>=pb>>>0){break c}rb=sb<<2;sb=q[q[a+72>>2]+12>>2];rb=q[rb+sb>>2];if(rb>>>0>=pb>>>0){break c}ub=tb<<2;tb=q[yb>>2];q[ub+tb>>2]=rb;rb=q[ob+4>>2];if((rb|0)==-1){break c}ub=q[qb+4>>2];if(ub>>>0>=pb>>>0){break c}rb=q[sb+(rb<<2)>>2];if(rb>>>0>=pb>>>0){break c}q[tb+(ub<<2)>>2]=rb;ob=q[ob+8>>2];if((ob|0)==-1){break c}qb=q[qb+8>>2];if(qb>>>0>=pb>>>0){break c}ob=q[sb+(ob<<2)>>2];if(ob>>>0>=pb>>>0){break c}q[tb+(qb<<2)>>2]=ob;ob=1;nb=nb+1|0;if(nb>>>0>>0){continue}break b}break}ob=0}return ob|0}function nj(a){a=a|0;var nb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;Bb=q[a+4>>2];nb=q[Bb>>2];a:{zb=q[a+12>>2];Ab=q[zb+28>>2]-q[zb+24>>2]|0;zb=Ab>>2;b:{if(q[Bb+8>>2]-nb>>2>>>0>=zb>>>0){break b}if(zb>>>0>=1073741824){break a}Eb=Bb+4|0;Cb=q[Eb>>2];Db=zb<<2;zb=Mm(Ab);Db=Db+zb|0;Ab=Cb-nb|0;Cb=Ab+zb|0;if((Ab|0)>=1){Cn(zb,nb,Ab)}q[Bb>>2]=zb;q[Bb+8>>2]=Db;q[Eb>>2]=Cb;if(!nb){break b}An(nb)}zb=a+8|0;c:{d:{nb=q[a+76>>2];if(nb){Bb=q[nb>>2];Ab=1;if((Bb|0)==q[nb+4>>2]){break c}nb=0;while(1){if(!oj(zb,q[(nb<<2)+Bb>>2])){break d}Ab=q[a+76>>2];Bb=q[Ab>>2];nb=nb+1|0;if(nb>>>0>2]-Bb>>2>>>0){continue}break}return 1}nb=0;a=q[a+12>>2];a=(q[a+4>>2]-q[a>>2]>>2>>>0)/3|0;if((a|0)<=0){return 1}while(1){if(!oj(zb,w(nb,3))){break d}nb=nb+1|0;if(nb>>>0>>0){continue}break}return 1}Ab=0}return Ab|0}ab(12024);F()}function oj(a,Fb){var Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0;Kb=T-32|0;T=Kb;q[Kb+8>>2]=Fb;a:{if((Fb|0)==-1){Jb=1;break a}Jb=1;Gb=(Fb>>>0)/3|0;if(q[q[a+24>>2]+(Gb>>>3&268435452)>>2]>>>(Gb&31)&1){break a}Gb=a+52|0;Ib=q[a+48>>2];q[Gb>>2]=Ib;Pb=a+48|0;b:{if((Ib|0)!=q[a+56>>2]){q[Ib>>2]=Fb;q[Gb>>2]=Ib+4;break b}zi(Pb,Kb+8|0)}Jb=-1;Ib=q[Kb+8>>2];if((Ib|0)==-1){Jb=0;break a}Gb=q[a+4>>2];Fb=Ib+1|0;Fb=(Fb>>>0)%3|0?Fb:Ib+ -2|0;if((Fb|0)!=-1){Jb=q[q[Gb>>2]+(Fb<<2)>>2]}Fb=Ib+((Ib>>>0)%3|0?-1:2)|0;if((Fb|0)==-1){Jb=0;break a}if((Jb|0)==-1){Jb=0;break a}Lb=q[q[Gb>>2]+(Fb<<2)>>2];if((Lb|0)==-1){Jb=0;break a}Fb=q[a+36>>2];Hb=Fb+(Jb>>>3&536870908)|0;Ib=q[Hb>>2];Gb=1<<(Jb&31);if(!(Ib&Gb)){q[Hb>>2]=Gb|Ib;Hb=-1;Gb=q[Kb+8>>2];if((Gb|0)!=-1){Fb=Gb+1|0;Hb=(Fb>>>0)%3|0?Fb:Gb+ -2|0}q[Kb+16>>2]=Hb;Ib=q[a+20>>2];Fb=(Hb>>>0)/3|0;Gb=q[(q[q[a+16>>2]+96>>2]+w(Fb,12)|0)+(Hb-w(Fb,3)<<2)>>2];q[Kb+24>>2]=Gb;Ib=q[Ib+4>>2];Fb=Ib+4|0;Hb=q[Fb>>2];c:{if((Hb|0)!=q[Ib+8>>2]){q[Hb>>2]=Gb;q[Fb>>2]=Hb+4;break c}zi(Ib,Kb+24|0)}Gb=a+12|0;Hb=q[Gb>>2];Fb=Hb+4|0;Ib=q[Fb>>2];d:{if((Ib|0)!=q[Hb+8>>2]){q[Ib>>2]=q[Kb+16>>2];q[Fb>>2]=Ib+4;break d}zi(Hb,Kb+16|0);Hb=q[Gb>>2]}q[q[Hb+12>>2]+(Jb<<2)>>2]=q[Hb+24>>2];q[Hb+24>>2]=q[Hb+24>>2]+1;Fb=q[a+36>>2]}Ib=(Lb>>>3&536870908)+Fb|0;Gb=q[Ib>>2];Fb=1<<(Lb&31);if(!(Gb&Fb)){q[Ib>>2]=Fb|Gb;Fb=Kb;Ib=Fb;Gb=q[Fb+8>>2];Hb=-1;e:{if((Gb|0)==-1){break e}Hb=Gb+ -1|0;if((Gb>>>0)%3){break e}Hb=Gb+2|0}q[Ib+16>>2]=Hb;Ib=q[a+20>>2];Fb=(Hb>>>0)/3|0;Gb=q[(q[q[a+16>>2]+96>>2]+w(Fb,12)|0)+(Hb-w(Fb,3)<<2)>>2];q[Kb+24>>2]=Gb;Ib=q[Ib+4>>2];Fb=Ib+4|0;Hb=q[Fb>>2];f:{if((Hb|0)!=q[Ib+8>>2]){q[Hb>>2]=Gb;q[Fb>>2]=Hb+4;break f}zi(Ib,Kb+24|0)}Gb=a+12|0;Jb=q[Gb>>2];Fb=Jb+4|0;Ib=q[Fb>>2];g:{if((Ib|0)!=q[Jb+8>>2]){q[Ib>>2]=q[Kb+16>>2];q[Fb>>2]=Ib+4;break g}zi(Jb,Kb+16|0);Jb=q[Gb>>2]}q[q[Jb+12>>2]+(Lb<<2)>>2]=q[Jb+24>>2];q[Jb+24>>2]=q[Jb+24>>2]+1}Nb=a+52|0;Fb=q[Nb>>2];if((Fb|0)==q[a+48>>2]){Jb=1;break a}Ob=a+24|0;Qb=a+4|0;Rb=a+36|0;Sb=a+16|0;Tb=a+20|0;Ub=a+56|0;while(1){Hb=Fb+ -4|0;Gb=q[Hb>>2];q[Kb+8>>2]=Gb;Fb=(Gb>>>0)/3|0;h:{i:{j:{if((Gb|0)==-1){break j}Ib=q[Ob>>2]+(Fb>>>3&268435452)|0;Gb=q[Ib>>2];Fb=1<<(Fb&31);if(Gb&Fb){break j}q[Ib>>2]=Fb|Gb;Fb=q[Kb+8>>2];if((Fb|0)!=-1){break i}Jb=0;break a}q[Nb>>2]=Hb;break h}k:{l:{m:{while(1){Mb=q[Qb>>2];Gb=q[q[Mb>>2]+(Fb<<2)>>2];if((Gb|0)==-1){Jb=0;break a}Lb=q[Rb>>2]+(Gb>>>3&536870908)|0;Hb=q[Lb>>2];Ib=1<<(Gb&31);n:{if(!(Hb&Ib)){Jb=Gb<<2;Gb=q[Jb+q[Mb+24>>2]>>2];o:{p:{if((Gb|0)==-1){break p}Fb=Gb+1|0;Fb=(Fb>>>0)%3|0?Fb:Gb+ -2|0;if((Fb|0)==-1){break p}Mb=q[q[Mb+12>>2]+(Fb<<2)>>2];if((Mb|0)==-1){break p}Fb=Mb+1|0;Gb=0;if((((Fb>>>0)%3|0?Fb:Mb+ -2|0)|0)!=-1){break o}}Gb=1}q[Lb>>2]=Ib|Hb;Ib=q[Kb+8>>2];q[Kb+16>>2]=Ib;Hb=q[Tb>>2];Fb=(Ib>>>0)/3|0;Ib=q[(q[q[Sb>>2]+96>>2]+w(Fb,12)|0)+(Ib-w(Fb,3)<<2)>>2];q[Kb+24>>2]=Ib;Hb=q[Hb+4>>2];Fb=Hb+4|0;Lb=q[Fb>>2];q:{if((Lb|0)!=q[Hb+8>>2]){q[Lb>>2]=Ib;q[Fb>>2]=Lb+4;break q}zi(Hb,Kb+24|0)}Hb=a+12|0;Fb=q[Hb>>2];Ib=Fb+4|0;Lb=q[Ib>>2];r:{if((Lb|0)!=q[Fb+8>>2]){q[Lb>>2]=q[Kb+16>>2];q[Ib>>2]=Lb+4;break r}zi(Fb,Kb+16|0);Fb=q[Hb>>2]}q[q[Fb+12>>2]+Jb>>2]=q[Fb+24>>2];q[Fb+24>>2]=q[Fb+24>>2]+1;Mb=q[Qb>>2];Fb=q[Kb+8>>2];if(!Gb){Gb=Kb;Hb=-1;s:{if((Fb|0)==-1){break s}Ib=Fb+1|0;Fb=(Ib>>>0)%3|0?Ib:Fb+ -2|0;Hb=-1;if((Fb|0)==-1){break s}Hb=q[q[Mb+12>>2]+(Fb<<2)>>2]}q[Gb+8>>2]=Hb;Fb=(Hb>>>0)/3|0;break n}if((Fb|0)==-1){break l}}Hb=-1;Jb=-1;Gb=Fb+1|0;Gb=(Gb>>>0)%3|0?Gb:Fb+ -2|0;if((Gb|0)!=-1){Jb=q[q[Mb+12>>2]+(Gb<<2)>>2]}q[Kb+24>>2]=Jb;Fb=((Fb>>>0)%3|0?-1:2)+Fb|0;if((Fb|0)!=-1){Hb=q[q[Mb+12>>2]+(Fb<<2)>>2]}Ib=(Hb>>>0)/3|0;Fb=(Jb>>>0)/3|0;Gb=(Jb|0)==-1;t:{if(Gb){Fb=-1;Gb=1;break t}Gb=Gb?-1:Fb;Gb=q[q[Ob>>2]+(Gb>>>3&536870908)>>2]>>>(Gb&31)&1}u:{if((Hb|0)!=-1){Lb=(Hb|0)==-1?-1:Ib;Lb=q[q[Ob>>2]+(Lb>>>3&536870908)>>2]&1<<(Lb&31);if(Gb){Jb=Hb;Fb=Ib;if(!Lb){break u}break k}if(Lb){break u}Fb=q[Nb>>2];q[Fb+ -4>>2]=Hb;if((Fb|0)==q[Ub>>2]){break m}q[Fb>>2]=q[Kb+24>>2];q[Nb>>2]=Fb+4;break h}if(Gb){break k}}q[Kb+8>>2]=Jb}Gb=q[Ob>>2]+(Fb>>>3&536870908)|0;q[Gb>>2]=q[Gb>>2]|1<<(Fb&31);Fb=q[Kb+8>>2];if((Fb|0)!=-1){continue}break}Jb=0;break a}zi(Pb,Kb+24|0);break h}q[Kb+24>>2]=-1}q[Nb>>2]=q[Nb>>2]+ -4}Jb=1;Fb=q[Nb>>2];if((Fb|0)!=q[a+48>>2]){continue}break}}T=Kb+32|0;return Jb}function pj(a){a=a|0;var Fb=0;q[a>>2]=12756;Fb=q[a+48>>2];if(Fb){q[a+52>>2]=Fb;An(Fb)}q[a>>2]=12572;Fb=q[a+36>>2];if(Fb){An(Fb)}Fb=q[a+24>>2];if(Fb){An(Fb)}An(a)}function qj(a){a=a|0;var Vb=0,Wb=0;q[a>>2]=12884;Wb=a+8|0;q[Wb>>2]=11760;Vb=q[a+56>>2];if(Vb){q[a+60>>2]=Vb;An(Vb)}q[Wb>>2]=12012;Vb=q[a+44>>2];if(Vb){An(Vb)}Vb=q[a+32>>2];if(Vb){An(Vb)}return a|0}function rj(a){a=a|0;var Xb=0,Yb=0;q[a>>2]=12884;Yb=a+8|0;q[Yb>>2]=11760;Xb=q[a+56>>2];if(Xb){q[a+60>>2]=Xb;An(Xb)}q[Yb>>2]=12012;Xb=q[a+44>>2];if(Xb){An(Xb)}Xb=q[a+32>>2];if(Xb){An(Xb)}An(a)}function sj(a,Zb){a=a|0;Zb=Zb|0;var _b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0;dc=q[a+12>>2];_b=q[a+68>>2];$b=q[_b+80>>2];o[Zb+84|0]=0;cc=q[Zb+68>>2];ac=q[Zb+72>>2]-cc>>2;a:{if($b>>>0>ac>>>0){md(Zb+68|0,$b-ac|0,12324);_b=q[a+68>>2];$b=q[_b+80>>2];break a}if($b>>>0>=ac>>>0){break a}q[Zb+72>>2]=cc+($b<<2)}fc=q[_b+96>>2];_b=q[_b+100>>2]-fc|0;gc=(_b|0)/12|0;if(!_b){return 1}hc=q[dc+28>>2];ic=Zb+68|0;Zb=0;b:{while(1){c:{_b=(w(Zb,3)<<2)+hc|0;dc=q[_b>>2];if((dc|0)==-1){break c}ac=w(Zb,12)+fc|0;cc=q[ac>>2];if(cc>>>0>=$b>>>0){break c}bc=dc<<2;dc=q[q[a+72>>2]+12>>2];bc=q[bc+dc>>2];if(bc>>>0>=$b>>>0){break c}ec=cc<<2;cc=q[ic>>2];q[ec+cc>>2]=bc;bc=q[_b+4>>2];if((bc|0)==-1){break c}ec=q[ac+4>>2];if(ec>>>0>=$b>>>0){break c}bc=q[dc+(bc<<2)>>2];if(bc>>>0>=$b>>>0){break c}q[cc+(ec<<2)>>2]=bc;_b=q[_b+8>>2];if((_b|0)==-1){break c}ac=q[ac+8>>2];if(ac>>>0>=$b>>>0){break c}_b=q[dc+(_b<<2)>>2];if(_b>>>0>=$b>>>0){break c}q[cc+(ac<<2)>>2]=_b;_b=1;Zb=Zb+1|0;if(Zb>>>0>>0){continue}break b}break}_b=0}return _b|0}function tj(a){a=a|0;var Zb=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0;lc=q[a+4>>2];Zb=q[lc>>2];a:{jc=q[a+12>>2];kc=q[jc+56>>2]-q[jc+52>>2]|0;jc=kc>>2;b:{if(q[lc+8>>2]-Zb>>2>>>0>=jc>>>0){break b}if(jc>>>0>=1073741824){break a}oc=lc+4|0;mc=q[oc>>2];nc=jc<<2;jc=Mm(kc);nc=nc+jc|0;kc=mc-Zb|0;mc=kc+jc|0;if((kc|0)>=1){Cn(jc,Zb,kc)}q[lc>>2]=jc;q[lc+8>>2]=nc;q[oc>>2]=mc;if(!Zb){break b}An(Zb)}jc=a+8|0;c:{d:{Zb=q[a+76>>2];if(Zb){lc=q[Zb>>2];kc=1;if((lc|0)==q[Zb+4>>2]){break c}Zb=0;while(1){if(!uj(jc,q[(Zb<<2)+lc>>2])){break d}kc=q[a+76>>2];lc=q[kc>>2];Zb=Zb+1|0;if(Zb>>>0>2]-lc>>2>>>0){continue}break}return 1}Zb=0;a=q[q[a+12>>2]+64>>2];a=(q[a+4>>2]-q[a>>2]>>2>>>0)/3|0;if((a|0)<=0){return 1}while(1){if(!uj(jc,w(Zb,3))){break d}Zb=Zb+1|0;if(Zb>>>0>>0){continue}break}return 1}kc=0}return kc|0}ab(12024);F()}function uj(a,pc){var qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0;uc=T-32|0;T=uc;q[uc+8>>2]=pc;a:{if((pc|0)==-1){qc=1;break a}qc=1;tc=(pc>>>0)/3|0;if(q[q[a+24>>2]+(tc>>>3&268435452)>>2]>>>(tc&31)&1){break a}tc=a+52|0;qc=q[a+48>>2];q[tc>>2]=qc;zc=a+48|0;b:{if((qc|0)!=q[a+56>>2]){q[qc>>2]=pc;q[tc>>2]=qc+4;break b}zi(zc,uc+8|0)}rc=-1;qc=q[a+4>>2];pc=q[uc+8>>2];c:{if((pc|0)==-1){tc=q[qc+28>>2];qc=q[tc+ -4>>2];break c}tc=q[qc+28>>2];qc=pc+1|0;qc=q[tc+(((qc>>>0)%3|0?qc:pc+ -2|0)<<2)>>2];if((pc>>>0)%3){rc=pc+ -1|0;break c}rc=pc+2|0}if((qc|0)==-1){qc=0;break a}tc=q[(rc<<2)+tc>>2];if((tc|0)==-1){qc=0;break a}pc=q[a+36>>2];sc=pc+(qc>>>3&536870908)|0;rc=q[sc>>2];vc=1<<(qc&31);if(!(rc&vc)){q[sc>>2]=rc|vc;rc=-1;pc=q[uc+8>>2];if((pc|0)!=-1){sc=pc+1|0;rc=(sc>>>0)%3|0?sc:pc+ -2|0}q[uc+16>>2]=rc;pc=q[a+20>>2];sc=(rc>>>0)/3|0;rc=q[(q[q[a+16>>2]+96>>2]+w(sc,12)|0)+(rc-w(sc,3)<<2)>>2];q[uc+24>>2]=rc;sc=q[pc+4>>2];vc=sc+4|0;pc=q[vc>>2];d:{if((pc|0)!=q[sc+8>>2]){q[pc>>2]=rc;q[vc>>2]=pc+4;break d}zi(sc,uc+24|0)}sc=a+12|0;rc=q[sc>>2];vc=rc+4|0;pc=q[vc>>2];e:{if((pc|0)!=q[rc+8>>2]){q[pc>>2]=q[uc+16>>2];q[vc>>2]=pc+4;break e}zi(rc,uc+16|0);rc=q[sc>>2]}q[q[rc+12>>2]+(qc<<2)>>2]=q[rc+24>>2];q[rc+24>>2]=q[rc+24>>2]+1;pc=q[a+36>>2]}pc=(tc>>>3&536870908)+pc|0;qc=q[pc>>2];sc=1<<(tc&31);if(!(qc&sc)){q[pc>>2]=qc|sc;pc=uc;rc=pc;sc=q[pc+8>>2];qc=-1;f:{if((sc|0)==-1){break f}qc=sc+ -1|0;if((sc>>>0)%3){break f}qc=sc+2|0}q[rc+16>>2]=qc;pc=q[a+20>>2];sc=(qc>>>0)/3|0;sc=q[(q[q[a+16>>2]+96>>2]+w(sc,12)|0)+(qc-w(sc,3)<<2)>>2];q[uc+24>>2]=sc;qc=q[pc+4>>2];rc=qc+4|0;pc=q[rc>>2];g:{if((pc|0)!=q[qc+8>>2]){q[pc>>2]=sc;q[rc>>2]=pc+4;break g}zi(qc,uc+24|0)}sc=a+12|0;qc=q[sc>>2];rc=qc+4|0;pc=q[rc>>2];h:{if((pc|0)!=q[qc+8>>2]){q[pc>>2]=q[uc+16>>2];q[rc>>2]=pc+4;break h}zi(qc,uc+16|0);qc=q[sc>>2]}q[q[qc+12>>2]+(tc<<2)>>2]=q[qc+24>>2];q[qc+24>>2]=q[qc+24>>2]+1}vc=a+52|0;pc=q[vc>>2];if((pc|0)==q[a+48>>2]){qc=1;break a}xc=a+24|0;yc=a+4|0;Bc=a+36|0;Cc=a+16|0;Dc=a+20|0;Ec=a+56|0;while(1){tc=pc+ -4|0;pc=q[tc>>2];q[uc+8>>2]=pc;qc=(pc>>>0)/3|0;i:{j:{k:{if((pc|0)==-1){break k}pc=q[xc>>2]+(qc>>>3&268435452)|0;sc=q[pc>>2];qc=1<<(qc&31);if(sc&qc){break k}q[pc>>2]=qc|sc;rc=q[yc>>2];pc=q[uc+8>>2];qc=q[q[rc+28>>2]+(pc<<2)>>2];if((qc|0)!=-1){break j}qc=0;break a}q[vc>>2]=tc;break i}l:{m:{n:{while(1){o:{p:{tc=q[Bc>>2]+(qc>>>3&536870908)|0;sc=q[tc>>2];wc=1<<(qc&31);if(sc&wc){break p}Ac=qc<<2;qc=q[Ac+q[rc+40>>2]>>2];pc=1;q:{if((qc|0)==-1){break q}pc=qc+1|0;pc=(pc>>>0)%3|0?pc:qc+ -2|0;r:{if((pc|0)==-1|q[q[rc>>2]+(pc>>>3&536870908)>>2]>>>(pc&31)&1){break r}qc=q[q[q[rc+64>>2]+12>>2]+(pc<<2)>>2];if((qc|0)==-1){break r}rc=qc+1|0;pc=0;if((((rc>>>0)%3|0?rc:qc+ -2|0)|0)!=-1){break q}}pc=1}qc=pc;q[tc>>2]=sc|wc;pc=q[uc+8>>2];q[uc+16>>2]=pc;tc=q[Dc>>2];sc=(pc>>>0)/3|0;sc=q[(q[q[Cc>>2]+96>>2]+w(sc,12)|0)+(pc-w(sc,3)<<2)>>2];q[uc+24>>2]=sc;tc=q[tc+4>>2];rc=tc+4|0;pc=q[rc>>2];s:{if((pc|0)!=q[tc+8>>2]){q[pc>>2]=sc;q[rc>>2]=pc+4;break s}zi(tc,uc+24|0)}sc=a+12|0;pc=q[sc>>2];rc=pc+4|0;tc=q[rc>>2];t:{if((tc|0)!=q[pc+8>>2]){q[tc>>2]=q[uc+16>>2];q[rc>>2]=tc+4;break t}zi(pc,uc+16|0);pc=q[sc>>2]}q[q[pc+12>>2]+Ac>>2]=q[pc+24>>2];q[pc+24>>2]=q[pc+24>>2]+1;rc=q[yc>>2];pc=q[uc+8>>2];if(qc){break p}qc=-1;u:{if((pc|0)==-1){break u}tc=pc+1|0;pc=(tc>>>0)%3|0?tc:pc+ -2|0;if((pc|0)==-1|q[q[rc>>2]+(pc>>>3&536870908)>>2]>>>(pc&31)&1){break u}qc=q[q[q[rc+64>>2]+12>>2]+(pc<<2)>>2]}q[uc+8>>2]=qc;pc=(qc>>>0)/3|0;break o}if((pc|0)==-1){break m}tc=-1;sc=uc;wc=pc+1|0;wc=(wc>>>0)%3|0?wc:pc+ -2|0;qc=-1;v:{if((wc|0)==-1){break v}qc=-1;if(q[q[rc>>2]+(wc>>>3&536870908)>>2]>>>(wc&31)&1){break v}qc=q[q[q[rc+64>>2]+12>>2]+(wc<<2)>>2]}q[sc+24>>2]=qc;pc=((pc>>>0)%3|0?-1:2)+pc|0;if(!((pc|0)==-1|q[q[rc>>2]+(pc>>>3&536870908)>>2]>>>(pc&31)&1)){tc=q[q[q[rc+64>>2]+12>>2]+(pc<<2)>>2]}sc=(tc>>>0)/3|0;pc=(qc>>>0)/3|0;rc=(qc|0)==-1;w:{if(rc){pc=-1;rc=1;break w}rc=rc?-1:pc;rc=q[q[xc>>2]+(rc>>>3&536870908)>>2]>>>(rc&31)&1}x:{if((tc|0)!=-1){wc=(tc|0)==-1?-1:sc;wc=q[q[xc>>2]+(wc>>>3&536870908)>>2]&1<<(wc&31);if(rc){qc=tc;pc=sc;if(!wc){break x}break l}if(wc){break x}pc=q[vc>>2];q[pc+ -4>>2]=tc;if((pc|0)==q[Ec>>2]){break n}q[pc>>2]=q[uc+24>>2];q[vc>>2]=pc+4;break i}if(rc){break l}}q[uc+8>>2]=qc}qc=q[xc>>2]+(pc>>>3&536870908)|0;q[qc>>2]=q[qc>>2]|1<<(pc&31);rc=q[yc>>2];pc=q[uc+8>>2];qc=q[q[rc+28>>2]+(pc<<2)>>2];if((qc|0)!=-1){continue}break}qc=0;break a}zi(zc,uc+24|0);break i}q[uc+24>>2]=-1}q[vc>>2]=q[vc>>2]+ -4}qc=1;pc=q[vc>>2];if((pc|0)!=q[a+48>>2]){continue}break}}T=uc+32|0;return qc}function vj(a,pc){var Fc=0,Gc=0,Hc=0;q[a>>2]=q[pc>>2];q[a+4>>2]=q[pc+4>>2];q[a+8>>2]=q[pc+8>>2];Fc=pc+12|0;q[a+12>>2]=q[Fc>>2];q[Fc>>2]=0;q[pc+4>>2]=0;q[pc+8>>2]=0;Fc=pc+16|0;q[a+16>>2]=q[Fc>>2];q[a+20>>2]=q[pc+20>>2];Gc=pc+24|0;q[a+24>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Gc=r[pc+28|0];Hc=a+40|0;q[Hc>>2]=0;Fc=a+32|0;q[Fc>>2]=0;q[Fc+4>>2]=0;o[a+28|0]=Gc;Gc=Fc;Fc=pc+32|0;q[Gc>>2]=q[Fc>>2];q[a+36>>2]=q[pc+36>>2];Gc=pc+40|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Gc=a+52|0;q[Gc>>2]=0;Fc=a+44|0;q[Fc>>2]=0;q[Fc+4>>2]=0;Hc=Fc;Fc=pc+44|0;q[Hc>>2]=q[Fc>>2];q[a+48>>2]=q[pc+48>>2];Hc=Gc;Gc=pc+52|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Gc=a- -64|0;q[Gc>>2]=0;Fc=a+56|0;q[Fc>>2]=0;q[Fc+4>>2]=0;Hc=Fc;Fc=pc+56|0;q[Hc>>2]=q[Fc>>2];q[a+60>>2]=q[pc+60>>2];Hc=Gc;Gc=pc- -64|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;q[a+68>>2]=q[pc+68>>2];Gc=q[pc+72>>2];Hc=a+84|0;q[Hc>>2]=0;Fc=a+76|0;q[Fc>>2]=0;q[Fc+4>>2]=0;q[a+72>>2]=Gc;Gc=Fc;Fc=pc+76|0;q[Gc>>2]=q[Fc>>2];q[a+80>>2]=q[pc+80>>2];Gc=pc+84|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Gc=a+96|0;q[Gc>>2]=0;Fc=a+88|0;q[Fc>>2]=0;q[Fc+4>>2]=0;Hc=Fc;Fc=pc+88|0;q[Hc>>2]=q[Fc>>2];q[a+92>>2]=q[pc+92>>2];Hc=Gc;Gc=pc+96|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Fc=r[pc+100|0];Gc=a+112|0;q[Gc>>2]=0;q[a+104>>2]=0;q[a+108>>2]=0;o[a+100|0]=Fc;q[a+104>>2]=q[pc+104>>2];q[a+108>>2]=q[pc+108>>2];Fc=pc+112|0;q[Gc>>2]=q[Fc>>2];q[Fc>>2]=0;q[pc+104>>2]=0;q[pc+108>>2]=0;Gc=a+124|0;q[Gc>>2]=0;Fc=a+116|0;q[Fc>>2]=0;q[Fc+4>>2]=0;Hc=Fc;Fc=pc+116|0;q[Hc>>2]=q[Fc>>2];q[a+120>>2]=q[pc+120>>2];Hc=Gc;Gc=pc+124|0;q[Hc>>2]=q[Gc>>2];q[Gc>>2]=0;q[Fc>>2]=0;q[Fc+4>>2]=0;Fc=q[pc+128>>2];Gc=a+140|0;q[Gc>>2]=0;q[a+132>>2]=0;q[a+136>>2]=0;q[a+128>>2]=Fc;q[a+132>>2]=q[pc+132>>2];q[a+136>>2]=q[pc+136>>2];Fc=pc+140|0;q[Gc>>2]=q[Fc>>2];q[Fc>>2]=0;q[pc+132>>2]=0;q[pc+136>>2]=0;return a}function wj(a){var pc=0,Ic=0,Jc=0;Ic=q[a+8>>2];Jc=q[a+4>>2];if((Ic|0)!=(Jc|0)){while(1){pc=Ic+ -144|0;q[a+8>>2]=pc;pc=q[pc+132>>2];if(pc){q[Ic+ -8>>2]=pc;An(pc)}pc=q[Ic+ -28>>2];if(pc){q[Ic+ -24>>2]=pc;An(pc)}pc=q[Ic+ -40>>2];if(pc){q[Ic+ -36>>2]=pc;An(pc)}pi(Ic+ -140|0);Ic=q[a+8>>2];if((Jc|0)!=(Ic|0)){continue}break}}a=q[a>>2];if(a){An(a)}}function xj(a,Kc){var Lc=0,Mc=0,Nc=x(0);Lc=2;a:{if((Kc|0)==1){break a}Lc=Kc;if(!(Kc+ -1&Kc)){break a}Lc=jm(Kc)}Mc=q[a+4>>2];if(Lc>>>0>Mc>>>0){yj(a,Lc);return}b:{if(Lc>>>0>=Mc>>>0){break b}Nc=x(D(x(x(t[a+12>>2])/u[a+16>>2])));c:{if(Nc=x(0)){Kc=~~Nc>>>0;break c}Kc=0}d:{e:{if(Mc>>>0<3){break e}if(co(Mc)>>>0>1){break e}Kc=Kc>>>0<2?Kc:1<<32-z(Kc+ -1|0);break d}Kc=jm(Kc)}Kc=Lc>>>0>>0?Kc:Lc;if(Kc>>>0>=Mc>>>0){break b}yj(a,Kc)}}function yj(a,Kc){var Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0;a:{b:{if(Kc){if(Kc>>>0>=1073741824){break a}Oc=Mm(Kc<<2);Pc=q[a>>2];q[a>>2]=Oc;if(Pc){An(Pc)}q[a+4>>2]=Kc;Oc=0;while(1){q[q[a>>2]+(Oc<<2)>>2]=0;Oc=Oc+1|0;if((Oc|0)!=(Kc|0)){continue}break}Pc=a+8|0;Rc=q[Pc>>2];if(!Rc){break b}Sc=q[Rc+4>>2];Oc=co(Kc);c:{if(Oc>>>0<=1){Sc=Kc+ -1⪼break c}if(Sc>>>0>>0){break c}Sc=(Sc>>>0)%(Kc>>>0)|0}q[q[a>>2]+(Sc<<2)>>2]=Pc;Pc=q[Rc>>2];if(!Pc){break b}Vc=Kc+ -1|0;Wc=Oc>>>0>1;while(1){Qc=q[Pc+4>>2];d:{if(!Wc){Qc=Qc&Vc;break d}if(Qc>>>0>>0){break d}Qc=(Qc>>>0)%(Kc>>>0)|0}e:{if((Qc|0)==(Sc|0)){Rc=Pc;break e}Oc=Pc;Tc=Qc<<2;Uc=Tc+q[a>>2]|0;if(!q[Uc>>2]){q[Uc>>2]=Rc;Rc=Pc;Sc=Qc;break e}while(1){Qc=Oc;Oc=q[Oc>>2];if(q[Pc+8>>2]==q[Oc+8>>2]?Oc:0){continue}break}q[Rc>>2]=Oc;q[Qc>>2]=q[q[q[a>>2]+Tc>>2]>>2];q[q[q[a>>2]+Tc>>2]>>2]=Pc}Pc=q[Rc>>2];if(Pc){continue}break}break b}Kc=q[a>>2];q[a>>2]=0;if(Kc){An(Kc)}q[a+4>>2]=0}return}ab(12024);F()}function zj(a){a=a|0;var Kc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0;Zc=T-32|0;T=Zc;$c=q[a+32>>2];Xc=s[a+36>>1];a:{b:{if((Xc<<24|Xc<<8&16711680)>>>16>>>0<=513){Xc=q[$c+12>>2];Yc=Xc;Kc=q[$c+20>>2];_c=Kc;bd=q[$c+16>>2];ad=bd+4|0;if(ad>>>0<4){Kc=Kc+1|0}gd=q[$c+8>>2];ed=ad;ad=Kc;if((Xc|0)<(Kc|0)?1:(Xc|0)<=(Kc|0)?gd>>>0>=ed>>>0?0:1:0){break a}id=q[$c>>2];Xc=id+bd|0;hd=r[Xc|0]|r[Xc+1|0]<<8|(r[Xc+2|0]<<16|r[Xc+3|0]<<24);q[Zc+28>>2]=hd;q[$c+16>>2]=ed;q[$c+20>>2]=ad;Kc=Yc;Xc=_c;Yc=bd+8|0;if(Yc>>>0<8){Xc=Xc+1|0}_c=Yc;Yc=Xc;if((Kc|0)<(Xc|0)?1:(Kc|0)<=(Xc|0)?gd>>>0>=_c>>>0?0:1:0){break a}Xc=ed+id|0;q[Zc+24>>2]=r[Xc|0]|r[Xc+1|0]<<8|(r[Xc+2|0]<<16|r[Xc+3|0]<<24);q[$c+16>>2]=_c;q[$c+20>>2]=Yc;break b}if(!Aj(1,Zc+28|0,$c)){break a}if(!Aj(1,Zc+24|0,q[a+32>>2])){break a}hd=q[Zc+28>>2]}if(hd>>>0>1431655765){break a}Xc=$n(hd,0,3,0);Kc=V;id=q[Zc+24>>2];if(!Kc&Xc>>>0>>0|Kc>>>0<0){break a}Yc=q[a+32>>2];Xc=Yc;$c=q[Xc+16>>2];ad=t[Xc+8>>2]>$c>>>0?0:1;_c=q[Xc+12>>2];Kc=q[Xc+20>>2];if((_c|0)<(Kc|0)?1:(_c|0)<=(Kc|0)?ad:0){break a}ad=r[$c+q[Yc>>2]|0];Xc=Kc;bd=$c+1|0;if(bd>>>0<1){Xc=Xc+1|0}q[Yc+16>>2]=bd;q[Yc+20>>2]=Xc;c:{if(!ad){if(!Bj(a,hd)){break a}break c}d:{if(id>>>0<=255){if(!hd){break c}gd=0;$c=Zc+16|0;q[$c>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;dd=q[Yc+8>>2];_c=q[Yc+12>>2];Kc=_c;if((Kc|0)<(Xc|0)?1:(Kc|0)<=(Xc|0)?dd>>>0>bd>>>0?0:1:0){break d}fd=a+44|0;jd=a+32|0;while(1){ed=q[Yc>>2];kd=r[ed+bd|0];Kc=Xc;cd=bd+1|0;if(cd>>>0<1){Kc=Kc+1|0}ad=Yc;q[Yc+16>>2]=cd;q[Yc+20>>2]=Kc;q[Zc+8>>2]=kd;if((_c|0)<(Kc|0)?1:(_c|0)<=(Kc|0)?dd>>>0>cd>>>0?0:1:0){break d}kd=r[cd+ed|0];Kc=Xc;cd=bd+2|0;if(cd>>>0<2){Kc=Kc+1|0}q[Yc+16>>2]=cd;q[ad+20>>2]=Kc;q[Zc+12>>2]=kd;if((_c|0)<(Kc|0)?1:(_c|0)<=(Kc|0)?dd>>>0>cd>>>0?0:1:0){break d}Kc=r[cd+ed|0];_c=bd+3|0;if(_c>>>0<3){Xc=Xc+1|0}q[Yc+16>>2]=_c;q[Yc+20>>2]=Xc;q[Zc+16>>2]=Kc;Kc=q[fd>>2];Yc=Kc+100|0;Xc=q[Yc>>2];e:{if((Xc|0)==q[Kc+104>>2]){Cj(Kc+96|0,Zc+8|0);break e}Kc=q[Zc+12>>2];q[Xc>>2]=q[Zc+8>>2];q[Xc+4>>2]=Kc;q[Xc+8>>2]=q[$c>>2];q[Yc>>2]=q[Yc>>2]+12}gd=gd+1|0;if((hd|0)==(gd|0)){break c}Yc=q[jd>>2];Kc=Yc;bd=q[Kc+16>>2];Xc=q[Kc+20>>2];q[$c>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;dd=q[Kc+8>>2];_c=q[Kc+12>>2];Kc=_c;if((Kc|0)>(Xc|0)?1:(Kc|0)>=(Xc|0)?dd>>>0<=bd>>>0?0:1:0){continue}break}break d}if(id>>>0<=65535){if(!hd){break c}gd=0;cd=Zc+16|0;q[cd>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;ad=q[Yc+12>>2];fd=ad;_c=$c+3|0;if(_c>>>0<3){Kc=Kc+1|0}ed=q[Yc+8>>2];dd=_c;_c=Kc;if((fd|0)<(Kc|0)?1:(fd|0)<=(Kc|0)?ed>>>0>=dd>>>0?0:1:0){break d}kd=a+44|0;ld=a+32|0;while(1){fd=q[Yc>>2];Kc=fd+bd|0;Kc=r[Kc|0]|r[Kc+1|0]<<8;q[Yc+16>>2]=dd;q[Yc+20>>2]=_c;q[Zc+8>>2]=Kc;_c=ad;Kc=Xc;$c=bd+4|0;if($c>>>0<4){Kc=Kc+1|0}jd=$c;$c=Kc;if((_c|0)<(Kc|0)?1:(_c|0)<=(Kc|0)?ed>>>0>=jd>>>0?0:1:0){break d}Kc=dd+fd|0;Kc=r[Kc|0]|r[Kc+1|0]<<8;q[Yc+16>>2]=jd;q[Yc+20>>2]=$c;q[Zc+12>>2]=Kc;Kc=bd+6|0;if(Kc>>>0<6){Xc=Xc+1|0}_c=Kc;Kc=Xc;if((ad|0)<(Kc|0)?1:(ad|0)<=(Kc|0)?ed>>>0>=_c>>>0?0:1:0){break d}Xc=fd+jd|0;Xc=r[Xc|0]|r[Xc+1|0]<<8;q[Yc+16>>2]=_c;q[Yc+20>>2]=Kc;q[Zc+16>>2]=Xc;Kc=q[kd>>2];Yc=Kc+100|0;Xc=q[Yc>>2];f:{if((Xc|0)==q[Kc+104>>2]){Cj(Kc+96|0,Zc+8|0);break f}Kc=q[Zc+12>>2];q[Xc>>2]=q[Zc+8>>2];q[Xc+4>>2]=Kc;q[Xc+8>>2]=q[cd>>2];q[Yc>>2]=q[Yc>>2]+12}gd=gd+1|0;if((hd|0)==(gd|0)){break c}Yc=q[ld>>2];Kc=Yc;bd=q[Kc+16>>2];Xc=q[Kc+20>>2];q[cd>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;$c=q[Kc+12>>2];ad=$c;ed=q[Kc+8>>2];fd=ed;Kc=Xc;_c=bd+2|0;if(_c>>>0<2){Kc=Kc+1|0}dd=_c;_c=Kc;if(($c|0)>(Kc|0)?1:($c|0)>=(Kc|0)?fd>>>0

>>0?0:1:0){continue}break}break d}g:{if(t[q[a+44>>2]+80>>2]>2097151){break g}_c=s[a+36>>1];if((_c<<24|_c<<8&16711680)>>>16>>>0<514){break g}if(!hd){break c}_c=Zc+16|0;q[_c>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;if(!Aj(1,Zc+4|0,Yc)){break d}Kc=a+32|0;$c=a+44|0;while(1){q[Zc+8>>2]=q[Zc+4>>2];if(!Aj(1,Zc+4|0,q[Kc>>2])){break d}q[Zc+12>>2]=q[Zc+4>>2];if(!Aj(1,Zc+4|0,q[Kc>>2])){break d}q[Zc+16>>2]=q[Zc+4>>2];Yc=q[$c>>2];ad=Yc+100|0;Xc=q[ad>>2];h:{if((Xc|0)==q[Yc+104>>2]){Cj(Yc+96|0,Zc+8|0);break h}Yc=q[Zc+12>>2];q[Xc>>2]=q[Zc+8>>2];q[Xc+4>>2]=Yc;q[Xc+8>>2]=q[_c>>2];q[ad>>2]=q[ad>>2]+12}cd=cd+1|0;if((cd|0)==(hd|0)){break c}Xc=q[Kc>>2];q[_c>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;if(Aj(1,Zc+4|0,Xc)){continue}break}break d}if(!hd){break c}gd=Zc+16|0;q[gd>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;ad=q[Yc+12>>2];cd=ad;_c=$c+5|0;if(_c>>>0<5){Kc=Kc+1|0}ed=q[Yc+8>>2];dd=_c;_c=Kc;if((cd|0)<(Kc|0)?1:(cd|0)<=(Kc|0)?ed>>>0>=dd>>>0?0:1:0){break d}jd=a+44|0;kd=a+32|0;while(1){cd=q[Yc>>2];Kc=cd+bd|0;Kc=r[Kc|0]|r[Kc+1|0]<<8|(r[Kc+2|0]<<16|r[Kc+3|0]<<24);q[Yc+16>>2]=dd;q[Yc+20>>2]=_c;q[Zc+8>>2]=Kc;_c=ad;Kc=Xc;$c=bd+8|0;if($c>>>0<8){Kc=Kc+1|0}fd=$c;$c=Kc;if((_c|0)<(Kc|0)?1:(_c|0)<=(Kc|0)?ed>>>0>=fd>>>0?0:1:0){break d}Kc=cd+dd|0;Kc=r[Kc|0]|r[Kc+1|0]<<8|(r[Kc+2|0]<<16|r[Kc+3|0]<<24);q[Yc+16>>2]=fd;q[Yc+20>>2]=$c;q[Zc+12>>2]=Kc;Kc=Xc;Xc=bd+12|0;if(Xc>>>0<12){Kc=Kc+1|0}_c=Xc;Xc=Kc;if((ad|0)<(Kc|0)?1:(ad|0)<=(Kc|0)?ed>>>0>=_c>>>0?0:1:0){break d}Kc=cd+fd|0;Kc=r[Kc|0]|r[Kc+1|0]<<8|(r[Kc+2|0]<<16|r[Kc+3|0]<<24);q[Yc+16>>2]=_c;q[Yc+20>>2]=Xc;q[Zc+16>>2]=Kc;Kc=q[jd>>2];Yc=Kc+100|0;Xc=q[Yc>>2];i:{if((Xc|0)==q[Kc+104>>2]){Cj(Kc+96|0,Zc+8|0);break i}Kc=q[Zc+12>>2];q[Xc>>2]=q[Zc+8>>2];q[Xc+4>>2]=Kc;q[Xc+8>>2]=q[gd>>2];q[Yc>>2]=q[Yc>>2]+12}ld=ld+1|0;if((hd|0)==(ld|0)){break c}Yc=q[kd>>2];Kc=Yc;bd=q[Kc+16>>2];Xc=q[Kc+20>>2];q[gd>>2]=0;q[Zc+8>>2]=0;q[Zc+12>>2]=0;$c=q[Kc+12>>2];ad=$c;ed=q[Kc+8>>2];fd=ed;Kc=Xc;_c=bd+4|0;if(_c>>>0<4){Kc=Kc+1|0}dd=_c;_c=Kc;if(($c|0)>(Kc|0)?1:($c|0)>=(Kc|0)?fd>>>0
>>0?0:1:0){continue}break}}dd=0;break a}q[q[a+4>>2]+80>>2]=id;dd=1}T=Zc+32|0;return dd|0}function Aj(a,md,nd){var od=0,pd=0,qd=0,rd=0;a:{if(a>>>0>5){break a}qd=q[nd+16>>2];od=q[nd+12>>2];pd=q[nd+20>>2];if((od|0)<(pd|0)?1:(od|0)<=(pd|0)?t[nd+8>>2]>qd>>>0?0:1:0){break a}od=r[qd+q[nd>>2]|0];qd=qd+1|0;if(qd>>>0<1){pd=pd+1|0}q[nd+16>>2]=qd;q[nd+20>>2]=pd;pd=md;if(od&128){if(!Aj(a+1|0,md,nd)){break a}a=q[md>>2]<<7;q[md>>2]=a;od=a|od&127}q[pd>>2]=od;rd=1}return rd}function Bj(a,md){var nd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0;nd=T-32|0;T=nd;q[nd+24>>2]=0;q[nd+16>>2]=0;q[nd+20>>2]=0;a:{ud=w(md,3);if(ud){if(ud>>>0>=1073741824){break a}sd=w(md,12);vd=Mm(sd);q[nd+16>>2]=vd;q[nd+24>>2]=(ud<<2)+vd;zd=nd,Ad=Dn(vd,0,sd)+sd|0,q[zd+20>>2]=Ad}b:{if(!qh(ud,1,q[a+32>>2],vd)){break b}td=1;if(!md){break b}yd=a+44|0;vd=0;while(1){ud=nd+8|0;q[ud>>2]=0;q[nd>>2]=0;q[nd+4>>2]=0;a=q[nd+16>>2]+(vd<<2)|0;sd=q[a>>2];td=sd>>>1;sd=(sd&1?0-td|0:td)+wd|0;q[nd>>2]=sd;td=q[a+4>>2];wd=td>>>1;sd=sd+(td&1?0-wd|0:wd)|0;q[nd+4>>2]=sd;a=q[a+8>>2];td=a>>>1;wd=sd+(a&1?0-td|0:td)|0;q[ud>>2]=wd;sd=q[yd>>2];td=sd+100|0;a=q[td>>2];c:{if((a|0)!=q[sd+104>>2]){sd=q[nd+4>>2];q[a>>2]=q[nd>>2];q[a+4>>2]=sd;q[a+8>>2]=q[ud>>2];q[td>>2]=q[td>>2]+12;break c}Cj(sd+96|0,nd)}vd=vd+3|0;td=1;xd=xd+1|0;if((xd|0)!=(md|0)){continue}break}}a=q[nd+16>>2];if(a){q[nd+20>>2]=a;An(a)}T=nd+32|0;return td}bn();F()}function Cj(a,md){var Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0;a:{Ed=q[a>>2];Fd=q[a+4>>2]-Ed|0;Bd=(Fd|0)/12|0;Cd=Bd+1|0;if(Cd>>>0<357913942){Gd=w(Bd,12);Dd=(q[a+8>>2]-Ed|0)/12|0;Bd=Dd<<1;Dd=Dd>>>0<178956970?Bd>>>0>>0?Cd:Bd:357913941;Bd=0;b:{if(!Dd){break b}if(Dd>>>0>=357913942){break a}Bd=Mm(w(Dd,12))}Cd=Gd+Bd|0;Gd=q[md+4>>2];q[Cd>>2]=q[md>>2];q[Cd+4>>2]=Gd;q[Cd+8>>2]=q[md+8>>2];md=Cd+w((Fd|0)/-12|0,12)|0;Bd=Bd+w(Dd,12)|0;Cd=Cd+12|0;if((Fd|0)>=1){Cn(md,Ed,Fd)}q[a>>2]=md;q[a+8>>2]=Bd;q[a+4>>2]=Cd;if(Ed){An(Ed)}return}bn();F()}ab(13160);F()}function Dj(a,md){a=a|0;md=md|0;var Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0;Kd=T-16|0;T=Kd;Ld=Mm(64);Hd=Mm(12);q[Hd+8>>2]=q[q[a+4>>2]+80>>2];q[Hd>>2]=13236;q[Hd+4>>2]=0;q[Kd+8>>2]=Hd;Ge(Ld,Kd+8|0);a:{if((md|0)>=0){Hd=q[a+12>>2];Md=a+8|0;Nd=q[Md>>2];Id=Hd-Nd>>2;b:{if((Id|0)>(md|0)){break b}Jd=md+1|0;if(Id>>>0<=md>>>0){ji(Md,Jd-Id|0);break b}if(Jd>>>0>=Id>>>0){break b}Jd=Nd+(Jd<<2)|0;if((Jd|0)!=(Hd|0)){while(1){Hd=Hd+ -4|0;Id=q[Hd>>2];q[Hd>>2]=0;if(Id){n[q[q[Id>>2]+4>>2]](Id)}if((Hd|0)!=(Jd|0)){continue}break}}q[a+12>>2]=Jd}md=q[Md>>2]+(md<<2)|0;a=q[md>>2];q[md>>2]=Ld;Id=1;if(!a){break a}n[q[q[a>>2]+4>>2]](a);break a}n[q[q[Ld>>2]+4>>2]](Ld)}a=q[Kd+8>>2];q[Kd+8>>2]=0;if(a){n[q[q[a>>2]+4>>2]](a)}T=Kd+16|0;return Id|0}function Ej(a){a=a|0;var md=0,Od=0,Pd=0,Qd=0,Rd=0;q[a>>2]=13300;md=q[a+20>>2];if(md){q[a+24>>2]=md;An(md)}Pd=q[a+8>>2];if(Pd){md=Pd;Rd=a+12|0;Od=q[Rd>>2];Qd=md;a:{if((md|0)==(Od|0)){break a}while(1){Od=Od+ -4|0;md=q[Od>>2];q[Od>>2]=0;if(md){n[q[q[md>>2]+4>>2]](md)}if((Od|0)!=(Pd|0)){continue}break}Qd=q[a+8>>2]}md=Qd;q[Rd>>2]=Pd;An(md)}An(a)}function Fj(a,Sd){a=a|0;Sd=Sd|0;o[Sd+84|0]=1;q[Sd+72>>2]=q[Sd+68>>2];return 1}function Gj(a){a=a|0;var Sd=0,Td=0,Ud=0,Vd=0;a:{Sd=q[a+8>>2];b:{if((Sd|0)<0){break b}Td=q[a+4>>2];Vd=q[Td>>2];Ud=q[Td+4>>2]-Vd>>2;c:{if(Sd>>>0>Ud>>>0){Hj(Td,Sd-Ud|0);Sd=q[a+8>>2];break c}if(Sd>>>0>=Ud>>>0){break c}q[Td+4>>2]=Vd+(Sd<<2)}Vd=1;if((Sd|0)<1){break b}a=q[a+4>>2];Td=q[a>>2];Ud=q[a+4>>2]-Td>>2;a=0;while(1){if((a|0)==(Ud|0)){break a}q[Td+(a<<2)>>2]=a;a=a+1|0;if((a|0)<(Sd|0)){continue}break}}return Vd|0}cn();F()}function Hj(a,Wd){var Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0;Yd=q[a+8>>2];Zd=a+4|0;Xd=q[Zd>>2];if(Yd-Xd>>2>>>0>=Wd>>>0){a=Wd<<2;ce=Zd,de=Dn(Xd,0,a)+a|0,q[ce>>2]=de;return}a:{Zd=q[a>>2];$d=Xd-Zd|0;Xd=$d>>2;_d=Xd+Wd|0;if(_d>>>0<1073741824){be=Xd<<2;Yd=Yd-Zd|0;Xd=Yd>>1;Yd=Yd>>2>>>0<536870911?Xd>>>0<_d>>>0?_d:Xd:1073741823;Xd=0;b:{if(!Yd){break b}if(Yd>>>0>=1073741824){break a}ae=Mm(Yd<<2);Xd=ae}Dn(be+Xd|0,0,Wd<<2);Wd=Xd+(_d<<2)|0;_d=Xd+(Yd<<2)|0;if(($d|0)>=1){Cn(ae,Zd,$d)}q[a>>2]=Xd;q[a+8>>2]=_d;q[a+4>>2]=Wd;if(Zd){An(Zd)}return}bn();F()}ab(13160);F()}function Ij(a){q[a+40>>2]=0;q[a>>2]=13300;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0;q[a+32>>2]=0;p[a+36>>1]=0}function Jj(a,Wd,ee){var fe=0,ge=0,he=0,ie=0,je=0,ke=0;ge=T-16|0;T=ge;ie=q[Wd+12>>2];fe=q[Wd+20>>2];he=q[Wd+16>>2];je=he+5|0;if(je>>>0<5){fe=fe+1|0}a:{if((ie|0)<(fe|0)?1:(ie|0)<=(fe|0)?t[Wd+8>>2]>=je>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}fe=he+q[Wd>>2]|0;ie=r[fe|0]|r[fe+1|0]<<8|(r[fe+2|0]<<16|r[fe+3|0]<<24);o[ee|0]=ie;o[ee+1|0]=ie>>>8;o[ee+2|0]=ie>>>16;o[ee+3|0]=ie>>>24;o[ee+4|0]=r[fe+4|0];ie=Wd;fe=q[Wd+20>>2];he=q[Wd+16>>2]+5|0;if(he>>>0<5){fe=fe+1|0}je=he;he=fe;q[ie+16>>2]=je;q[ie+20>>2]=fe;if(cm(ee,13374,5)){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=17;q[ge+8>>2]=-2147483616;o[Wd+17|0]=0;o[Wd+16|0]=r[13396];ee=r[13392]|r[13393]<<8|(r[13394]<<16|r[13395]<<24);fe=r[13388]|r[13389]<<8|(r[13390]<<16|r[13391]<<24);o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=r[13384]|r[13385]<<8|(r[13386]<<16|r[13387]<<24);fe=r[13380]|r[13381]<<8|(r[13382]<<16|r[13383]<<24);o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-1;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}fe=q[Wd+12>>2];if((fe|0)<(he|0)?1:(fe|0)<=(he|0)?t[Wd+8>>2]>je>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}o[ee+5|0]=r[je+q[Wd>>2]|0];fe=q[Wd+20>>2];he=q[Wd+16>>2]+1|0;if(he>>>0<1){fe=fe+1|0}q[Wd+16>>2]=he;q[ie+20>>2]=fe;ie=q[Wd+12>>2];if((ie|0)<(fe|0)?1:(ie|0)<=(fe|0)?t[Wd+8>>2]>he>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}o[ee+6|0]=r[he+q[Wd>>2]|0];fe=q[Wd+20>>2];he=q[Wd+16>>2]+1|0;if(he>>>0<1){fe=fe+1|0}q[Wd+16>>2]=he;q[Wd+20>>2]=fe;ie=q[Wd+12>>2];if((ie|0)<(fe|0)?1:(ie|0)<=(fe|0)?t[Wd+8>>2]>he>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}o[ee+7|0]=r[he+q[Wd>>2]|0];fe=q[Wd+20>>2];he=q[Wd+16>>2]+1|0;if(he>>>0<1){fe=fe+1|0}q[Wd+16>>2]=he;q[Wd+20>>2]=fe;ie=q[Wd+12>>2];if((ie|0)<(fe|0)?1:(ie|0)<=(fe|0)?t[Wd+8>>2]>he>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}o[ee+8|0]=r[he+q[Wd>>2]|0];fe=q[Wd+20>>2];he=fe;ke=q[Wd+16>>2];je=ke+1|0;if(je>>>0<1){fe=fe+1|0}q[Wd+16>>2]=je;q[Wd+20>>2]=fe;ie=q[Wd+12>>2];fe=he;he=ke+3|0;if(he>>>0<3){fe=fe+1|0}if((ie|0)<(fe|0)?1:(ie|0)<=(fe|0)?t[Wd+8>>2]>=he>>>0?0:1:0){Wd=Mm(32);q[ge>>2]=Wd;q[ge+4>>2]=29;q[ge+8>>2]=-2147483616;o[Wd+29|0]=0;ee=r[13369]|r[13370]<<8|(r[13371]<<16|r[13372]<<24);fe=r[13365]|r[13366]<<8|(r[13367]<<16|r[13368]<<24);o[Wd+21|0]=fe;o[Wd+22|0]=fe>>>8;o[Wd+23|0]=fe>>>16;o[Wd+24|0]=fe>>>24;o[Wd+25|0]=ee;o[Wd+26|0]=ee>>>8;o[Wd+27|0]=ee>>>16;o[Wd+28|0]=ee>>>24;ee=q[3341];fe=q[3340];o[Wd+16|0]=fe;o[Wd+17|0]=fe>>>8;o[Wd+18|0]=fe>>>16;o[Wd+19|0]=fe>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=q[3339];fe=q[3338];o[Wd+8|0]=fe;o[Wd+9|0]=fe>>>8;o[Wd+10|0]=fe>>>16;o[Wd+11|0]=fe>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=q[3337];fe=q[3336];o[Wd|0]=fe;o[Wd+1|0]=fe>>>8;o[Wd+2|0]=fe>>>16;o[Wd+3|0]=fe>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-2;Rm(a+4|0,ge);if(o[ge+11|0]>-1){break a}An(q[ge>>2]);break a}he=ee;ee=je+q[Wd>>2]|0;p[he+10>>1]=r[ee|0]|r[ee+1|0]<<8;ee=Wd;he=Wd;fe=q[Wd+20>>2];Wd=q[Wd+16>>2]+2|0;if(Wd>>>0<2){fe=fe+1|0}q[he+16>>2]=Wd;q[ee+20>>2]=fe;q[a+8>>2]=0;q[a+12>>2]=0;q[a>>2]=0;q[a+4>>2]=0}T=ge+16|0}function Kj(a,Wd){var ee=0,le=0,me=0,ne=0;le=T-48|0;T=le;ee=Mm(36);me=ee+4|0;q[me>>2]=0;q[me+4>>2]=0;ne=ee+16|0;q[ne>>2]=0;q[ne+4>>2]=0;q[ee>>2]=me;q[ee+32>>2]=0;q[ee+24>>2]=0;q[ee+28>>2]=0;q[ee+12>>2]=ne;q[le+40>>2]=ee;ee=le+32|0;q[ee>>2]=0;a:{if(!Ok(ee,q[Wd+32>>2],q[le+40>>2])){q[le+24>>2]=0;q[le+16>>2]=0;q[le+20>>2]=0;Wd=Mm(32);q[le+16>>2]=Wd;q[le+20>>2]=26;q[le+24>>2]=-2147483616;o[Wd+26|0]=0;ee=r[13422]|r[13423]<<8;o[Wd+24|0]=ee;o[Wd+25|0]=ee>>>8;ee=r[13418]|r[13419]<<8|(r[13420]<<16|r[13421]<<24);me=r[13414]|r[13415]<<8|(r[13416]<<16|r[13417]<<24);o[Wd+16|0]=me;o[Wd+17|0]=me>>>8;o[Wd+18|0]=me>>>16;o[Wd+19|0]=me>>>24;o[Wd+20|0]=ee;o[Wd+21|0]=ee>>>8;o[Wd+22|0]=ee>>>16;o[Wd+23|0]=ee>>>24;ee=r[13410]|r[13411]<<8|(r[13412]<<16|r[13413]<<24);me=r[13406]|r[13407]<<8|(r[13408]<<16|r[13409]<<24);o[Wd+8|0]=me;o[Wd+9|0]=me>>>8;o[Wd+10|0]=me>>>16;o[Wd+11|0]=me>>>24;o[Wd+12|0]=ee;o[Wd+13|0]=ee>>>8;o[Wd+14|0]=ee>>>16;o[Wd+15|0]=ee>>>24;ee=r[13402]|r[13403]<<8|(r[13404]<<16|r[13405]<<24);me=r[13398]|r[13399]<<8|(r[13400]<<16|r[13401]<<24);o[Wd|0]=me;o[Wd+1|0]=me>>>8;o[Wd+2|0]=me>>>16;o[Wd+3|0]=me>>>24;o[Wd+4|0]=ee;o[Wd+5|0]=ee>>>8;o[Wd+6|0]=ee>>>16;o[Wd+7|0]=ee>>>24;q[a>>2]=-1;Rm(a+4|0,le+16|0);if(o[le+27|0]>-1){break a}An(q[le+16>>2]);break a}Wd=q[Wd+4>>2];q[le+8>>2]=0;me=q[le+40>>2];q[le+40>>2]=0;ee=q[Wd+4>>2];q[Wd+4>>2]=me;b:{if(!ee){q[le+8>>2]=0;break b}Lj(ee);Wd=q[le+8>>2];q[le+8>>2]=0;if(!Wd){break b}Lj(Wd)}q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0}a=q[le+40>>2];q[le+40>>2]=0;if(a){Lj(a)}T=le+48|0}function Lj(a){var Wd=0,oe=0,pe=0,qe=0,re=0;if(a){pe=q[a+24>>2];if(pe){Wd=pe;re=a+28|0;oe=q[re>>2];qe=Wd;a:{if((oe|0)==(Wd|0)){break a}while(1){oe=oe+ -4|0;Wd=q[oe>>2];q[oe>>2]=0;if(Wd){Hc(Wd+12|0,q[Wd+16>>2]);Ic(Wd,q[Wd+4>>2]);An(Wd)}if((oe|0)!=(pe|0)){continue}break}qe=q[a+24>>2]}Wd=qe;q[re>>2]=pe;An(Wd)}Hc(a+12|0,q[a+16>>2]);Ic(a,q[a+4>>2]);An(a)}}function Mj(a,se,te,ue,ve){var we=0,xe=0;we=T-32|0;T=we;q[se+32>>2]=ue;q[se+40>>2]=te;q[se+4>>2]=ve;Jj(a,ue,we+16|0);a:{if(q[a>>2]){break a}te=a+4|0;if(o[a+15|0]<=-1){An(q[te>>2])}ve=r[we+23|0];if((n[q[q[se>>2]+8>>2]](se)|0)!=(ve|0)){se=Mm(64);q[we>>2]=se;q[we+4>>2]=50;q[we+8>>2]=-2147483584;o[se+50|0]=0;ue=r[13473]|r[13474]<<8;o[se+48|0]=ue;o[se+49|0]=ue>>>8;ue=r[13469]|r[13470]<<8|(r[13471]<<16|r[13472]<<24);ve=r[13465]|r[13466]<<8|(r[13467]<<16|r[13468]<<24);o[se+40|0]=ve;o[se+41|0]=ve>>>8;o[se+42|0]=ve>>>16;o[se+43|0]=ve>>>24;o[se+44|0]=ue;o[se+45|0]=ue>>>8;o[se+46|0]=ue>>>16;o[se+47|0]=ue>>>24;ue=r[13461]|r[13462]<<8|(r[13463]<<16|r[13464]<<24);ve=r[13457]|r[13458]<<8|(r[13459]<<16|r[13460]<<24);o[se+32|0]=ve;o[se+33|0]=ve>>>8;o[se+34|0]=ve>>>16;o[se+35|0]=ve>>>24;o[se+36|0]=ue;o[se+37|0]=ue>>>8;o[se+38|0]=ue>>>16;o[se+39|0]=ue>>>24;ue=r[13453]|r[13454]<<8|(r[13455]<<16|r[13456]<<24);ve=r[13449]|r[13450]<<8|(r[13451]<<16|r[13452]<<24);o[se+24|0]=ve;o[se+25|0]=ve>>>8;o[se+26|0]=ve>>>16;o[se+27|0]=ve>>>24;o[se+28|0]=ue;o[se+29|0]=ue>>>8;o[se+30|0]=ue>>>16;o[se+31|0]=ue>>>24;ue=r[13445]|r[13446]<<8|(r[13447]<<16|r[13448]<<24);ve=r[13441]|r[13442]<<8|(r[13443]<<16|r[13444]<<24);o[se+16|0]=ve;o[se+17|0]=ve>>>8;o[se+18|0]=ve>>>16;o[se+19|0]=ve>>>24;o[se+20|0]=ue;o[se+21|0]=ue>>>8;o[se+22|0]=ue>>>16;o[se+23|0]=ue>>>24;ue=r[13437]|r[13438]<<8|(r[13439]<<16|r[13440]<<24);ve=r[13433]|r[13434]<<8|(r[13435]<<16|r[13436]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13429]|r[13430]<<8|(r[13431]<<16|r[13432]<<24);ve=r[13425]|r[13426]<<8|(r[13427]<<16|r[13428]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-1;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}ue=r[we+21|0];o[se+36|0]=ue;xe=r[we+22|0];o[se+37|0]=xe;if((ue+ -1&255)>>>0>=2){se=Mm(32);q[we>>2]=se;q[we+4>>2]=22;q[we+8>>2]=-2147483616;o[se+22|0]=0;ue=r[13494]|r[13495]<<8|(r[13496]<<16|r[13497]<<24);ve=r[13490]|r[13491]<<8|(r[13492]<<16|r[13493]<<24);o[se+14|0]=ve;o[se+15|0]=ve>>>8;o[se+16|0]=ve>>>16;o[se+17|0]=ve>>>24;o[se+18|0]=ue;o[se+19|0]=ue>>>8;o[se+20|0]=ue>>>16;o[se+21|0]=ue>>>24;ue=r[13488]|r[13489]<<8|(r[13490]<<16|r[13491]<<24);ve=r[13484]|r[13485]<<8|(r[13486]<<16|r[13487]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13480]|r[13481]<<8|(r[13482]<<16|r[13483]<<24);ve=r[13476]|r[13477]<<8|(r[13478]<<16|r[13479]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-5;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}if(!((ue|0)!=2|(ve?2:3)>>>0>=xe>>>0)){se=Mm(32);q[we>>2]=se;q[we+4>>2]=22;q[we+8>>2]=-2147483616;o[se+22|0]=0;ue=r[13517]|r[13518]<<8|(r[13519]<<16|r[13520]<<24);ve=r[13513]|r[13514]<<8|(r[13515]<<16|r[13516]<<24);o[se+14|0]=ve;o[se+15|0]=ve>>>8;o[se+16|0]=ve>>>16;o[se+17|0]=ve>>>24;o[se+18|0]=ue;o[se+19|0]=ue>>>8;o[se+20|0]=ue>>>16;o[se+21|0]=ue>>>24;ue=r[13511]|r[13512]<<8|(r[13513]<<16|r[13514]<<24);ve=r[13507]|r[13508]<<8|(r[13509]<<16|r[13510]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13503]|r[13504]<<8|(r[13505]<<16|r[13506]<<24);ve=r[13499]|r[13500]<<8|(r[13501]<<16|r[13502]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-5;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}ue=ue<<8|xe;p[q[se+32>>2]+38>>1]=ue;b:{if((ue&65535)>>>0<259|p[we+26>>1]>-1){break b}Kj(a,se);if(q[a>>2]){break a}if(o[te+11|0]>-1){break b}An(q[te>>2])}if(!n[q[q[se>>2]+12>>2]](se)){se=Mm(48);q[we>>2]=se;q[we+4>>2]=33;q[we+8>>2]=-2147483600;o[se+33|0]=0;o[se+32|0]=r[13554];ue=r[13550]|r[13551]<<8|(r[13552]<<16|r[13553]<<24);ve=r[13546]|r[13547]<<8|(r[13548]<<16|r[13549]<<24);o[se+24|0]=ve;o[se+25|0]=ve>>>8;o[se+26|0]=ve>>>16;o[se+27|0]=ve>>>24;o[se+28|0]=ue;o[se+29|0]=ue>>>8;o[se+30|0]=ue>>>16;o[se+31|0]=ue>>>24;ue=r[13542]|r[13543]<<8|(r[13544]<<16|r[13545]<<24);ve=r[13538]|r[13539]<<8|(r[13540]<<16|r[13541]<<24);o[se+16|0]=ve;o[se+17|0]=ve>>>8;o[se+18|0]=ve>>>16;o[se+19|0]=ve>>>24;o[se+20|0]=ue;o[se+21|0]=ue>>>8;o[se+22|0]=ue>>>16;o[se+23|0]=ue>>>24;ue=r[13534]|r[13535]<<8|(r[13536]<<16|r[13537]<<24);ve=r[13530]|r[13531]<<8|(r[13532]<<16|r[13533]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13526]|r[13527]<<8|(r[13528]<<16|r[13529]<<24);ve=r[13522]|r[13523]<<8|(r[13524]<<16|r[13525]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-1;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}if(!n[q[q[se>>2]+20>>2]](se)){se=Mm(32);q[we>>2]=se;q[we+4>>2]=31;q[we+8>>2]=-2147483616;o[se+31|0]=0;ue=r[13583]|r[13584]<<8|(r[13585]<<16|r[13586]<<24);ve=r[13579]|r[13580]<<8|(r[13581]<<16|r[13582]<<24);o[se+23|0]=ve;o[se+24|0]=ve>>>8;o[se+25|0]=ve>>>16;o[se+26|0]=ve>>>24;o[se+27|0]=ue;o[se+28|0]=ue>>>8;o[se+29|0]=ue>>>16;o[se+30|0]=ue>>>24;ue=r[13576]|r[13577]<<8|(r[13578]<<16|r[13579]<<24);ve=r[13572]|r[13573]<<8|(r[13574]<<16|r[13575]<<24);o[se+16|0]=ve;o[se+17|0]=ve>>>8;o[se+18|0]=ve>>>16;o[se+19|0]=ve>>>24;o[se+20|0]=ue;o[se+21|0]=ue>>>8;o[se+22|0]=ue>>>16;o[se+23|0]=ue>>>24;ue=r[13568]|r[13569]<<8|(r[13570]<<16|r[13571]<<24);ve=r[13564]|r[13565]<<8|(r[13566]<<16|r[13567]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13560]|r[13561]<<8|(r[13562]<<16|r[13563]<<24);ve=r[13556]|r[13557]<<8|(r[13558]<<16|r[13559]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-1;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}if(!n[q[q[se>>2]+24>>2]](se)){se=Mm(48);q[we>>2]=se;q[we+4>>2]=34;q[we+8>>2]=-2147483600;o[se+34|0]=0;ue=r[13620]|r[13621]<<8;o[se+32|0]=ue;o[se+33|0]=ue>>>8;ue=r[13616]|r[13617]<<8|(r[13618]<<16|r[13619]<<24);ve=r[13612]|r[13613]<<8|(r[13614]<<16|r[13615]<<24);o[se+24|0]=ve;o[se+25|0]=ve>>>8;o[se+26|0]=ve>>>16;o[se+27|0]=ve>>>24;o[se+28|0]=ue;o[se+29|0]=ue>>>8;o[se+30|0]=ue>>>16;o[se+31|0]=ue>>>24;ue=r[13608]|r[13609]<<8|(r[13610]<<16|r[13611]<<24);ve=r[13604]|r[13605]<<8|(r[13606]<<16|r[13607]<<24);o[se+16|0]=ve;o[se+17|0]=ve>>>8;o[se+18|0]=ve>>>16;o[se+19|0]=ve>>>24;o[se+20|0]=ue;o[se+21|0]=ue>>>8;o[se+22|0]=ue>>>16;o[se+23|0]=ue>>>24;ue=r[13600]|r[13601]<<8|(r[13602]<<16|r[13603]<<24);ve=r[13596]|r[13597]<<8|(r[13598]<<16|r[13599]<<24);o[se+8|0]=ve;o[se+9|0]=ve>>>8;o[se+10|0]=ve>>>16;o[se+11|0]=ve>>>24;o[se+12|0]=ue;o[se+13|0]=ue>>>8;o[se+14|0]=ue>>>16;o[se+15|0]=ue>>>24;ue=r[13592]|r[13593]<<8|(r[13594]<<16|r[13595]<<24);ve=r[13588]|r[13589]<<8|(r[13590]<<16|r[13591]<<24);o[se|0]=ve;o[se+1|0]=ve>>>8;o[se+2|0]=ve>>>16;o[se+3|0]=ve>>>24;o[se+4|0]=ue;o[se+5|0]=ue>>>8;o[se+6|0]=ue>>>16;o[se+7|0]=ue>>>24;q[a>>2]=-1;Rm(te,we);if(o[we+11|0]>-1){break a}An(q[we>>2]);break a}q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0}T=we+32|0}function Nj(a){a=a|0;var se=0,te=0,ue=0,ve=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0;a:{se=q[a+32>>2];ve=q[se+16>>2];ze=q[se+12>>2];ue=q[se+20>>2];b:{if((ze|0)<(ue|0)?1:(ze|0)<=(ue|0)?t[se+8>>2]>ve>>>0?0:1:0){break b}ye=r[ve+q[se>>2]|0];Ae=ve+1|0;if(Ae>>>0<1){ue=ue+1|0}q[se+16>>2]=Ae;q[se+20>>2]=ue;c:{if(!ye){break c}while(1){if(n[q[q[a>>2]+16>>2]](a,te)){te=te+1|0;if((ye|0)!=(te|0)){continue}break c}break}return 0}te=q[a+8>>2];ue=q[a+12>>2];if((te|0)!=(ue|0)){while(1){se=q[te>>2];if(!n[q[q[se>>2]+8>>2]](se,a,q[a+4>>2])){break b}te=te+4|0;if((ue|0)!=(te|0)){continue}break}}d:{if(!ye){break d}te=0;ue=a+8|0;while(1){se=q[q[ue>>2]+(te<<2)>>2];if(!n[q[q[se>>2]+12>>2]](se,q[a+32>>2])){break a}te=te+1|0;if((ye|0)!=(te|0)){continue}break}if(!ye){break d}ve=a+20|0;Be=a+8|0;ze=a+24|0;while(1){te=0;Ae=Ce<<2;se=q[Ae+q[Be>>2]>>2];ue=n[q[q[se>>2]+24>>2]](se)|0;if((ue|0)>0){while(1){se=q[q[Be>>2]+Ae>>2];se=n[q[q[se>>2]+20>>2]](se,te)|0;De=q[a+20>>2];Ee=q[ze>>2]-De>>2;e:{if(se>>>0>>0){break e}Fe=se+1|0;if(Fe>>>0>Ee>>>0){Fa(ve,Fe-Ee|0);De=q[ve>>2];break e}if(Fe>>>0>=Ee>>>0){break e}q[ze>>2]=(Fe<<2)+De}q[(se<<2)+De>>2]=Ce;te=te+1|0;if((ue|0)!=(te|0)){continue}break}}Ce=Ce+1|0;if((Ce|0)!=(ye|0)){continue}break}}Be=0;if(!n[q[q[a>>2]+28>>2]](a)){break b}Be=n[q[q[a>>2]+32>>2]](a)|0}return Be|0}return 0}function Oj(a){a=a|0;var Ge=0,He=0,Ie=0,Je=0;He=1;Ge=q[a+8>>2];Ie=q[a+12>>2];a:{if((Ge|0)==(Ie|0)){break a}while(1){Je=q[Ge>>2];if(n[q[q[Je>>2]+16>>2]](Je,q[a+32>>2])){Ge=Ge+4|0;if((Ie|0)!=(Ge|0)){continue}break a}break}He=0}return He|0}function Pj(a,Ke){var Le=0,Me=0;a:{if((Ke|0)<0){break a}Le=q[a+4>>2];if(q[Le+12>>2]-q[Le+8>>2]>>2<=(Ke|0)){break a}a=q[q[a+8>>2]+(q[q[a+20>>2]+(Ke<<2)>>2]<<2)>>2];Me=n[q[q[a>>2]+32>>2]](a,Ke)|0}return Me}function Qj(a){a=a|0;var Ke=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0;Oe=q[a+32>>2];Ne=Oe;Pe=q[Ne+8>>2];Qe=q[Ne+12>>2];Ke=q[Ne+20>>2];Se=Pe;Pe=q[Ne+16>>2];Ne=Pe+4|0;if(Ne>>>0<4){Ke=Ke+1|0}Re=Ne;Ne=Ke;a:{if((Qe|0)<(Ke|0)?1:(Qe|0)<=(Ke|0)?Se>>>0>=Re>>>0?0:1:0){break a}Ke=Pe+q[Oe>>2]|0;Ke=r[Ke|0]|r[Ke+1|0]<<8|(r[Ke+2|0]<<16|r[Ke+3|0]<<24);q[Oe+16>>2]=Re;q[Oe+20>>2]=Ne;if((Ke|0)<0){break a}q[q[a+4>>2]+80>>2]=Ke;Te=1}return Te|0}function Rj(a,Ue){a=a|0;Ue=Ue|0;var Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0;Ye=Mm(72);Id(Ye);a:{if((Ue|0)>=0){Ve=q[a+12>>2];Ze=a+8|0;_e=q[Ze>>2];We=Ve-_e>>2;b:{if((We|0)>(Ue|0)){break b}Xe=Ue+1|0;if(We>>>0<=Ue>>>0){ji(Ze,Xe-We|0);break b}if(Xe>>>0>=We>>>0){break b}Xe=_e+(Xe<<2)|0;if((Xe|0)!=(Ve|0)){while(1){Ve=Ve+ -4|0;We=q[Ve>>2];q[Ve>>2]=0;if(We){n[q[q[We>>2]+4>>2]](We)}if((Ve|0)!=(Xe|0)){continue}break}}q[a+12>>2]=Xe}Ue=q[Ze>>2]+(Ue<<2)|0;a=q[Ue>>2];q[Ue>>2]=Ye;Ve=1;if(!a){break a}n[q[q[a>>2]+4>>2]](a);return 1}n[q[q[Ye>>2]+4>>2]](Ye)}return Ve|0}function Sj(a){a=a|0;var Ue=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0;af=q[a+32>>2];$e=af;bf=q[$e+8>>2];cf=q[$e+12>>2];Ue=q[$e+20>>2];ef=bf;bf=q[$e+16>>2];$e=bf+4|0;if($e>>>0<4){Ue=Ue+1|0}df=$e;$e=Ue;if((cf|0)>(Ue|0)?1:(cf|0)>=(Ue|0)?ef>>>0>>0?0:1:0){Ue=bf+q[af>>2]|0;Ue=r[Ue|0]|r[Ue+1|0]<<8|(r[Ue+2|0]<<16|r[Ue+3|0]<<24);q[af+16>>2]=df;q[af+20>>2]=$e;q[q[a+4>>2]+80>>2]=Ue;a=1}else{a=0}return a|0}function Tj(a,ff,gf){var hf=0,jf=0,kf=0;if((ff|0)>0){while(1){jf=hf<<2;kf=q[jf+a>>2];q[gf+jf>>2]=0-(kf&1)^kf>>>1;hf=hf+1|0;if((hf|0)!=(ff|0)){continue}break}}}function Uj(a){q[a+16>>2]=0;q[a+20>>2]=0;q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0}function Vj(a,q,ff,gf){return Wj(a,q,ff,gf)}function Wj(a,ff,gf,lf){var mf=0,nf=0,of=0;a:{if(!ff){ff=gf;lf=ff>>>0<0?lf+1|0:lf;if((lf|0)<0?1:(lf|0)<=0?ff>>>0>=0?0:1:0){return 0}lf=q[a>>2];gf=q[a+4>>2]-lf|0;if(gf>>>0>>0){Ha(a,ff-gf|0);break a}if(gf>>>0<=ff>>>0){break a}q[a+4>>2]=ff+lf;break a}if((lf|0)<0?1:(lf|0)<=0?gf>>>0>=0?0:1:0){return 0}nf=gf;if(gf>>>0<0){lf=lf+1|0}of=q[a>>2];mf=q[a+4>>2]-of|0;b:{if((lf|0)<0?1:(lf|0)<=0?nf>>>0>mf>>>0?0:1:0){break b}lf=nf;if(mf>>>0>>0){Ha(a,lf-mf|0);break b}if(mf>>>0<=lf>>>0){break b}q[a+4>>2]=lf+of}if(!gf){break a}En(q[a>>2],ff,gf)}ff=a+24|0;gf=ff;lf=ff;a=q[ff+4>>2];ff=q[ff>>2]+1|0;if(ff>>>0<1){a=a+1|0}q[lf>>2]=ff;q[gf+4>>2]=a;return 1}function Xj(a,ff){var gf=0,lf=0;lf=q[a>>2];gf=q[a+4>>2]-lf|0;a:{if(gf>>>0>>0){Ha(a,ff-gf|0);break a}if(gf>>>0<=ff>>>0){break a}q[a+4>>2]=ff+lf}ff=a+24|0;gf=ff;lf=ff;a=q[ff+4>>2];ff=q[ff>>2]+1|0;if(ff>>>0<1){a=a+1|0}q[lf>>2]=ff;q[gf+4>>2]=a}function Yj(a){p[a+38>>1]=0;q[a>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0;o[a+29|0]=0;o[a+30|0]=0;o[a+31|0]=0;o[a+32|0]=0;o[a+33|0]=0;o[a+34|0]=0;o[a+35|0]=0;o[a+36|0]=0;return a}function Zj(a,ff,pf,qf){p[a+38>>1]=qf;q[a>>2]=ff;q[a+16>>2]=0;q[a+20>>2]=0;q[a+8>>2]=pf;q[a+12>>2]=0}function _j(a,ff,pf){var qf=0,rf=0,sf=0,tf=0;a:{b:{if(!ff){break b}if(s[a+38>>1]<=513){rf=q[a+12>>2];ff=q[a+20>>2];sf=q[a+16>>2];tf=sf+8|0;if(tf>>>0<8){ff=ff+1|0}if((rf|0)<(ff|0)?1:(rf|0)<=(ff|0)?t[a+8>>2]>=tf>>>0?0:1:0){break a}ff=sf+q[a>>2]|0;qf=r[ff+4|0]|r[ff+5|0]<<8|(r[ff+6|0]<<16|r[ff+7|0]<<24);q[pf>>2]=r[ff|0]|r[ff+1|0]<<8|(r[ff+2|0]<<16|r[ff+3|0]<<24);q[pf+4>>2]=qf;pf=q[a+20>>2];qf=q[a+16>>2]+8|0;if(qf>>>0<8){pf=pf+1|0}q[a+16>>2]=qf;q[a+20>>2]=pf;break b}if(!$j(1,pf,a)){break a}}o[a+36|0]=1;q[a+32>>2]=0;ff=q[a+16>>2];pf=ff+q[a>>2]|0;q[a+24>>2]=pf;qf=a;a=q[a+8>>2];q[qf+28>>2]=pf+(a-ff|0);qf=1}return qf}function $j(a,ff,pf){var uf=0,vf=0,wf=0,xf=0,yf=0,zf=0;a:{if(a>>>0>10){break a}wf=q[pf+16>>2];uf=q[pf+12>>2];vf=q[pf+20>>2];xf=vf;if((uf|0)<(xf|0)?1:(uf|0)<=(xf|0)?t[pf+8>>2]>wf>>>0?0:1:0){break a}yf=o[wf+q[pf>>2]|0];uf=wf+1|0;if(uf>>>0<1){vf=vf+1|0}q[pf+16>>2]=uf;q[pf+20>>2]=vf;xf=ff;wf=ff;uf=yf;b:{if((uf|0)<=-1){if(!$j(a+1|0,ff,pf)){break a}a=ff;pf=q[ff+4>>2];ff=q[ff>>2];vf=pf<<7|ff>>>25;ff=ff<<7;q[a>>2]=ff;q[a+4>>2]=vf;a=uf&127|ff;break b}vf=0;a=uf&255}q[wf>>2]=a;q[xf+4>>2]=vf;zf=1}return zf}function ak(a){var ff=0,pf=0,Af=0,Bf=0,Cf=0,Df=0;o[a+36|0]=0;Af=q[a+20>>2];Bf=a;Cf=a;Df=q[a+16>>2];a=q[a+32>>2]+7|0;if(a>>>0<7){ff=1}pf=ff>>>3;a=ff<<29|a>>>3;ff=Df+a|0;pf=pf+Af|0;q[Cf+16>>2]=ff;q[Bf+20>>2]=ff>>>0>>0?pf+1|0:pf}function bk(a){a=a+ -1|0;if(a>>>0<=10){return q[(a<<2)+13848>>2]}return-1}function ck(a){var Ef=0;Ef=a+4|0;q[Ef>>2]=0;q[Ef+4>>2]=0;q[a>>2]=Ef;return a}function dk(a,Ff,Gf,Hf){var If=0,Jf=0,Kf=0,Lf=0;If=T-16|0;T=If;Lf=a;Jf=ph(Ff,If+12|0,Gf);Gf=q[Jf>>2];if(Gf){Ff=0}else{Gf=Mm(40);Rm(Gf+16|0,q[Hf>>2]);q[Gf+36>>2]=0;q[Gf+28>>2]=0;q[Gf+32>>2]=0;q[Gf+8>>2]=q[If+12>>2];q[Gf>>2]=0;q[Gf+4>>2]=0;q[Jf>>2]=Gf;Hf=Gf;Kf=q[q[Ff>>2]>>2];if(Kf){q[Ff>>2]=Kf;Hf=q[Jf>>2]}nh(q[Ff+4>>2],Hf);Ff=Ff+8|0;q[Ff>>2]=q[Ff>>2]+1;Ff=1}o[Lf+4|0]=Ff;q[a>>2]=Gf;T=If+16|0}function ek(a,Ff){var Gf=0;Gf=T-48|0;T=Gf;$m(Gf+8|0);q[Gf+32>>2]=Ff;dk(Gf+40|0,a,Ff,Gf+32|0);a=q[Gf+40>>2];Ff=a+28|0;a:{if(o[a+39|0]>=0){o[Ff+11|0]=0;o[Ff|0]=0;break a}o[q[a+28>>2]]=0;q[a+32>>2]=0;if(o[a+39|0]>-1){break a}An(q[a+28>>2]);q[a+36>>2]=0}a=q[Gf+12>>2];q[Ff>>2]=q[Gf+8>>2];q[Ff+4>>2]=a;q[Ff+8>>2]=q[Gf+16>>2];T=Gf+48|0}function fk(a,Ff){var Hf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0;Pf=a+4|0;a=q[Pf>>2];a:{b:{if(!a){break b}Hf=r[Ff+11|0];Mf=Hf<<24>>24<0;Nf=Mf?q[Ff+4>>2]:Hf;Rf=Mf?q[Ff>>2]:Ff;Hf=Pf;while(1){Ff=r[a+27|0];Sf=Ff<<24>>24<0;Qf=Sf?q[a+20>>2]:Ff;Of=Nf>>>0>>0;Mf=Of?Nf:Qf;c:{if(Mf){Ff=a+16|0;Ff=cm(Sf?q[Ff>>2]:Ff,Rf,Mf);if(Ff){break c}}Ff=Qf>>>0>>0?-1:Of}Hf=(Ff|0)<0?Hf:a;a=q[(Ff>>>29&4)+a>>2];if(a){continue}break}if((Hf|0)==(Pf|0)){break b}a=r[Hf+27|0];Of=a<<24>>24<0;d:{Mf=Of?q[Hf+20>>2]:a;Ff=Mf>>>0>>0?Mf:Nf;if(Ff){a=Hf+16|0;a=cm(Rf,Of?q[a>>2]:a,Ff);if(a){break d}}if(Nf>>>0>>0){break b}break a}if((a|0)>-1){break a}}Hf=Pf}return Hf}function gk(a,Ff){var Tf=0;Ff=fk(a,Ff);a:{if((Ff|0)==(a+4|0)){break a}a=Ff+28|0;if(o[Ff+39|0]<=-1){a=q[a>>2]}a=bm(a);if((a|0)==-1){break a}Tf=(a|0)!=0}return Tf}function hk(a){q[a>>2]=1065353216;return a}function ik(a,q,Ff){if((Ff|0)<1){return 0}u[a>>2]=q/x(Ff|0);return 1}function jk(a){var Ff=0;q[a>>2]=0;q[a+4>>2]=0;q[a+56>>2]=0;q[a+48>>2]=0;q[a+52>>2]=0;q[a+40>>2]=0;q[a+44>>2]=0;q[a+32>>2]=0;q[a+36>>2]=0;q[a+24>>2]=0;q[a+28>>2]=0;q[a+16>>2]=0;q[a+20>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;Ff=a- -64|0;q[Ff>>2]=0;q[Ff+4>>2]=0;q[a+72>>2]=0;q[a+76>>2]=0;q[a+80>>2]=0;q[a+84>>2]=0;q[a+60>>2]=a}function kk(a,Uf){var Vf=0,Wf=0,Xf=0;Xf=T-16|0;T=Xf;Wf=Mm(88);Vf=Wf;q[Vf>>2]=0;q[Vf+4>>2]=0;q[Vf+56>>2]=0;q[Vf+48>>2]=0;q[Vf+52>>2]=0;q[Vf+40>>2]=0;q[Vf+44>>2]=0;q[Vf+32>>2]=0;q[Vf+36>>2]=0;q[Vf+24>>2]=0;q[Vf+28>>2]=0;q[Vf+16>>2]=0;q[Vf+20>>2]=0;q[Vf+8>>2]=0;q[Vf+12>>2]=0;Vf=Vf- -64|0;q[Vf>>2]=0;q[Vf+4>>2]=0;q[Wf+72>>2]=0;q[Wf+76>>2]=0;q[Wf+80>>2]=0;q[Wf+84>>2]=0;q[Wf+60>>2]=Wf;q[Xf+8>>2]=Wf;a:{if(lk(Wf,Uf)){q[a>>2]=q[Xf+8>>2];q[Xf+8>>2]=0;break a}q[a>>2]=0;a=q[Xf+8>>2];q[Xf+8>>2]=0;if(!a){break a}wa(Xf+8|0,a)}T=Xf+16|0}function lk(a,Uf){var Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0;$f=T-16|0;T=$f;q[a+80>>2]=0;q[a+84>>2]=0;Yf=a+76|0;Zf=q[Yf>>2];q[Yf>>2]=0;if(Zf){An(Zf)}q[a+68>>2]=0;q[a+72>>2]=0;Yf=a- -64|0;Zf=q[Yf>>2];q[Yf>>2]=0;if(Zf){An(Zf)}bg=Uf+4|0;Yf=q[bg>>2];Zf=q[Uf>>2];_f=w((Yf-Zf|0)/12|0,3);cg=q[a>>2];ag=q[a+4>>2]-cg>>2;a:{if(_f>>>0>ag>>>0){mk(a,_f-ag|0);Yf=q[bg>>2];Zf=q[Uf>>2];break a}if(_f>>>0>=ag>>>0){break a}q[a+4>>2]=(_f<<2)+cg}if((Yf|0)!=(Zf|0)){ag=(Yf-Zf|0)/12|0;bg=q[a>>2];Uf=0;while(1){_f=w(Uf,12);Yf=_f+bg|0;_f=Zf+_f|0;q[Yf>>2]=q[_f>>2];q[Yf+4>>2]=q[_f+4>>2];q[Yf+8>>2]=q[_f+8>>2];Uf=Uf+1|0;if(Uf>>>0>>0){continue}break}}q[$f+12>>2]=-1;Uf=0;if(nk(a,$f+12|0)){ok(a);pk(a,q[$f+12>>2]);Uf=1}T=$f+16|0;return Uf}function mk(a,Uf){var dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0;eg=q[a+8>>2];fg=a+4|0;dg=q[fg>>2];if(eg-dg>>2>>>0>=Uf>>>0){a=Uf<<2;kg=fg,lg=Dn(dg,0,a)+a|0,q[kg>>2]=lg;return}a:{fg=q[a>>2];hg=dg-fg|0;dg=hg>>2;gg=dg+Uf|0;if(gg>>>0<1073741824){jg=dg<<2;eg=eg-fg|0;dg=eg>>1;eg=eg>>2>>>0<536870911?dg>>>0>>0?gg:dg:1073741823;dg=0;b:{if(!eg){break b}if(eg>>>0>=1073741824){break a}ig=Mm(eg<<2);dg=ig}Dn(jg+dg|0,0,Uf<<2);Uf=dg+(gg<<2)|0;gg=dg+(eg<<2)|0;if((hg|0)>=1){Cn(ig,fg,hg)}q[a>>2]=dg;q[a+8>>2]=gg;q[a+4>>2]=Uf;if(fg){An(fg)}return}bn();F()}ab(13904);F()}function nk(a,Uf){var mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0;og=T-48|0;T=og;if(Uf){Dg=a+12|0;ng=a+4|0;tg=q[ng>>2];ug=q[a>>2];rg=tg-ug|0;pg=rg>>2;mg=q[a+12>>2];qg=q[a+16>>2]-mg>>2;a:{if(pg>>>0>qg>>>0){qk(Dg,pg-qg|0);tg=q[ng>>2];ug=q[a>>2];rg=tg-ug|0;pg=rg>>2;break a}if(pg>>>0>=qg>>>0){break a}q[a+16>>2]=mg+(pg<<2)}ng=0;q[og+40>>2]=0;q[og+32>>2]=0;q[og+36>>2]=0;b:{c:{d:{if(!pg){mg=0;qg=0;break d}if(pg>>>0>=1073741824){break c}mg=Mm(rg);q[og+36>>2]=mg;q[og+32>>2]=mg;q[og+40>>2]=(pg<<2)+mg;qg=mg}e:{if(!rg){break e}sg=a+4|0;ng=qg;wg=ng;rg=0;while(1){vg=q[(rg<<2)+ug>>2];wg=wg-ng>>2;if(vg>>>0>=wg>>>0){q[og+16>>2]=0;mg=vg+1|0;f:{if(mg>>>0>wg>>>0){Ad(og+32|0,mg-wg|0,og+16|0);tg=q[sg>>2];ug=q[a>>2];break f}if(mg>>>0>=wg>>>0){break f}q[og+36>>2]=(mg<<2)+ng}mg=q[og+32>>2];qg=mg}ng=(vg<<2)+mg|0;q[ng>>2]=q[ng>>2]+1;rg=rg+1|0;ng=tg-ug|0;pg=ng>>2;if(rg>>>0>=pg>>>0){break e}wg=q[og+36>>2];ng=mg;continue}}q[og+24>>2]=0;q[og+16>>2]=0;q[og+20>>2]=0;rg=0;g:{if(ng){if(pg>>>0>=536870912){break g}rg=Mm(ng<<1);q[og+16>>2]=rg;q[og+20>>2]=rg;ng=pg<<3;q[og+24>>2]=ng+rg;ng=Dn(rg,255,ng);while(1){ng=ng+8|0;pg=pg+ -1|0;if(pg){continue}break}q[og+20>>2]=ng}q[og+8>>2]=0;q[og>>2]=0;q[og+4>>2]=0;ng=q[og+36>>2]-qg|0;Ag=ng>>2;h:{if(ng){if(Ag>>>0>=1073741824){break h}xg=Mm(ng);q[og>>2]=xg;q[og+8>>2]=(Ag<<2)+xg;pg=0;sg=Dn(xg,0,ng);q[og+4>>2]=sg+ng;ng=0;while(1){qg=ng<<2;q[qg+sg>>2]=pg;pg=q[mg+qg>>2]+pg|0;ng=ng+1|0;if(ng>>>0>>0){continue}break}}if((tg|0)==(ug|0)){break b}Gg=tg-ug>>2;sg=0;Eg=q[og+32>>2];while(1){Bg=sg<<2;wg=q[Bg+ug>>2];tg=-1;ng=sg+1|0;mg=(ng>>>0)%3|0?ng:sg+ -2|0;if((mg|0)!=-1){tg=q[(mg<<2)+ug>>2]}yg=-1;qg=(sg>>>0)%3|0;mg=(qg?-1:2)+sg|0;if((mg|0)!=-1){yg=q[(mg<<2)+ug>>2]}i:{j:{if(qg){break j}k:{if((tg|0)==(yg|0)){break k}mg=q[ug+Bg>>2];if((mg|0)==(tg|0)){break k}if((mg|0)!=(yg|0)){break j}}q[a+40>>2]=q[a+40>>2]+1;ng=sg+3|0;break i}mg=yg<<2;Cg=q[mg+Eg>>2];l:{m:{if((Cg|0)<1){break m}mg=q[mg+xg>>2];pg=0;while(1){vg=(mg<<3)+rg|0;qg=q[vg>>2];if((qg|0)==-1){break m}n:{if((qg|0)!=(tg|0)){break n}zg=q[vg+4>>2];if((zg|0)!=-1){qg=q[(zg<<2)+ug>>2]}else{qg=-1}if((qg|0)==(wg|0)){break n}while(1){qg=mg;pg=pg+1|0;o:{if((pg|0)>=(Cg|0)){break o}Fg=(qg<<3)+rg|0;mg=qg+1|0;wg=(mg<<3)+rg|0;vg=q[wg>>2];q[Fg>>2]=vg;q[Fg+4>>2]=q[wg+4>>2];if((vg|0)!=-1){continue}}break}q[(qg<<3)+rg>>2]=-1;if((zg|0)==-1){break m}mg=q[Dg>>2];q[mg+Bg>>2]=zg;q[mg+(zg<<2)>>2]=sg;break l}mg=mg+1|0;pg=pg+1|0;if((Cg|0)!=(pg|0)){continue}break}}mg=tg<<2;qg=q[mg+Eg>>2];if((qg|0)<1){break l}mg=q[mg+xg>>2];pg=0;while(1){vg=(mg<<3)+rg|0;if(q[vg>>2]==-1){q[vg>>2]=yg;q[vg+4>>2]=sg;break l}mg=mg+1|0;pg=pg+1|0;if((qg|0)!=(pg|0)){continue}break}}}sg=ng;if(sg>>>0>>0){continue}break}break b}bn();F()}bn();F()}ab(13904);F()}q[Uf>>2]=Ag;if(xg){q[og+4>>2]=xg;An(xg)}a=q[og+16>>2];if(a){q[og+20>>2]=a;An(a)}a=q[og+32>>2];if(a){q[og+36>>2]=a;An(a)}a=1}else{a=0}T=og+48|0;return a}function ok(a){var Uf=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0;Ig=T-48|0;T=Ig;Qg=a+4|0;Uf=q[Qg>>2];Og=q[a>>2];o[Ig+16|0]=0;Rg=rk(Ig+32|0,Uf-Og>>2,Ig+16|0);q[Ig+24>>2]=0;q[Ig+16>>2]=0;q[Ig+20>>2]=0;Uf=q[Qg>>2];Mg=q[a>>2];Ng=a+12|0;while(1){Sg=0;Lg=0;a:{if((Uf|0)==(Mg|0)){break a}while(1){Jg=q[Rg>>2];b:{if(q[Jg+(Lg>>>3&536870908)>>2]>>>(Lg&31)&1){break b}Kg=q[Ig+16>>2];q[Ig+20>>2]=Kg;Uf=Lg;while(1){Hg=Uf+1|0;Og=Uf;Uf=(Hg>>>0)%3|0?Hg:Uf+ -2|0;c:{if((Uf|0)==-1){break c}Uf=q[q[Ng>>2]+(Uf<<2)>>2];if((Uf|0)==-1){break c}Hg=Uf+1|0;Uf=(Hg>>>0)%3|0?Hg:Uf+ -2|0;if((Lg|0)==(Uf|0)|(Uf|0)==-1){break c}if(!(q[(Uf>>>3&536870908)+Jg>>2]>>>(Uf&31)&1)){continue}}break}Uf=Kg;Hg=Og;while(1){Jg=(Hg>>>3&536870908)+Jg|0;q[Jg>>2]=q[Jg>>2]|1<<(Hg&31);Jg=Hg+1|0;Tg=(Jg>>>0)%3|0?Jg:Hg+ -2|0;Jg=((Hg>>>0)%3|0?-1:2)+Hg|0;if((Uf|0)!=(Kg|0)){Ug=q[(Tg<<2)+Mg>>2];while(1){d:{if((Ug|0)!=q[Uf>>2]){break d}Hg=-1;Pg=q[Uf+4>>2];Hg=(Jg|0)!=-1?q[q[Ng>>2]+(Jg<<2)>>2]:Hg;if((Pg|0)==(Hg|0)){break d}Kg=-1;Kg=(Pg|0)!=-1?q[q[Ng>>2]+(Pg<<2)>>2]:Kg;if((Hg|0)!=-1){q[q[Ng>>2]+(Hg<<2)>>2]=-1}Uf=q[Ng>>2];if((Kg|0)!=-1){q[Uf+(Kg<<2)>>2]=-1}q[Uf+(Jg<<2)>>2]=-1;q[Uf+(Pg<<2)>>2]=-1;Sg=1;break b}Uf=Uf+8|0;if((Kg|0)!=(Uf|0)){continue}break}}q[Ig+8>>2]=0;Uf=Jg<<2;Hg=q[Uf+Mg>>2];q[Ig+12>>2]=Tg;q[Ig+8>>2]=Hg;e:{if(q[Ig+24>>2]!=(Kg|0)){Hg=q[Ig+12>>2];q[Kg>>2]=q[Ig+8>>2];q[Kg+4>>2]=Hg;q[Ig+20>>2]=q[Ig+20>>2]+8;break e}sk(Ig+16|0,Ig+8|0)}f:{if((Jg|0)==-1){break f}Uf=q[Uf+q[Ng>>2]>>2];if((Uf|0)==-1){break f}Hg=Uf+((Uf>>>0)%3|0?-1:2)|0;if((Og|0)==(Hg|0)|(Hg|0)==-1){break f}Mg=q[a>>2];Jg=q[Rg>>2];Kg=q[Ig+20>>2];Uf=q[Ig+16>>2];continue}break}Mg=q[a>>2]}Lg=Lg+1|0;Uf=q[Qg>>2];if(Lg>>>0>2>>>0){continue}break}if(Sg){continue}}break}a=q[Ig+16>>2];if(a){q[Ig+20>>2]=a;An(a)}a=q[Rg>>2];if(a){An(a)}T=Ig+48|0}function pk(a,Vg){var Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0;$g=T-48|0;T=$g;q[a+36>>2]=Vg;fh=a+24|0;Yg=q[a+24>>2];Wg=q[a+28>>2]-Yg>>2;a:{if(Wg>>>0>>0){qk(fh,Vg-Wg|0);break a}if(Wg>>>0<=Vg>>>0){break a}q[a+28>>2]=Yg+(Vg<<2)}o[$g+16|0]=0;ah=rk($g+32|0,Vg,$g+16|0);gh=a+4|0;Wg=q[gh>>2];Yg=q[a>>2];o[$g+8|0]=0;ch=rk($g+16|0,Wg-Yg>>2,$g+8|0);b:{Wg=q[a>>2];if(q[gh>>2]-Wg>>2>>>0<3){break b}mh=a+48|0;hh=a+12|0;nh=a+32|0;jh=a+28|0;oh=a+56|0;kh=a+52|0;while(1){dh=w(ih,3);Zg=q[(dh<<2)+Wg>>2];_g=0;Xg=-1;Yg=dh+1|0;c:{if((Yg|0)!=-1){Xg=q[(Yg<<2)+Wg>>2];_g=dh+2|0;Yg=-1;if((_g|0)==-1){break c}}Yg=q[(_g<<2)+Wg>>2]}d:{if(!((Yg|0)==(Xg|0)|(Xg|0)==(Zg|0)|(Yg|0)==(Zg|0))){bh=q[ch>>2];eh=0;while(1){Yg=dh+eh|0;e:{if(q[(Yg>>>3&536870908)+bh>>2]>>>(Yg&31)&1){break e}_g=q[q[a>>2]+(Yg<<2)>>2];q[$g+8>>2]=_g;Wg=1<<(_g&31);Xg=q[ah>>2];_g=_g>>>5;bh=q[Xg+(_g<<2)>>2];Zg=0;f:{if(!(Wg&bh)){break f}Wg=q[jh>>2];g:{if((Wg|0)!=q[nh>>2]){q[Wg>>2]=-1;q[jh>>2]=Wg+4;break g}zi(fh,13900)}Wg=q[kh>>2];h:{if((Wg|0)!=q[oh>>2]){q[Wg>>2]=q[$g+8>>2];q[kh>>2]=Wg+4;break h}zi(mh,$g+8|0)}Wg=q[ah+4>>2];Zg=q[ah+8>>2];if((Wg|0)==Zg<<5){if((Wg+1|0)<=-1){break d}Xg=ah;if(Wg>>>0<=1073741822){Wg=Wg+32&-32;Zg=Zg<<6;Wg=Zg>>>0>>0?Wg:Zg}else{Wg=2147483647}cb(Xg,Wg);Wg=q[ah+4>>2]}q[ah+4>>2]=Wg+1;Xg=q[ah>>2];Zg=Xg+(Wg>>>3&536870908)|0;_g=q[Zg>>2];ph=Zg,qh=eo(Wg)&_g,q[ph>>2]=qh;q[$g+8>>2]=Vg;Wg=1<<(Vg&31);_g=Vg>>>5;bh=q[(_g<<2)+Xg>>2];Vg=Vg+1|0;Zg=1}q[(_g<<2)+Xg>>2]=Wg|bh;bh=q[ch>>2];Wg=Yg;i:{while(1){if((Wg|0)==-1){break i}Xg=(Wg>>>3&536870908)+bh|0;q[Xg>>2]=q[Xg>>2]|1<<(Wg&31);Xg=q[$g+8>>2];q[q[fh>>2]+(Xg<<2)>>2]=Wg;if(Zg){q[q[a>>2]+(Wg<<2)>>2]=Xg}_g=Yg;Xg=Wg+1|0;Wg=(Xg>>>0)%3|0?Xg:Wg+ -2|0;Xg=-1;j:{if((Wg|0)==-1){break j}Wg=q[q[hh>>2]+(Wg<<2)>>2];Xg=-1;if((Wg|0)==-1){break j}Xg=Wg+1|0;Xg=(Xg>>>0)%3|0?Xg:Wg+ -2|0}Wg=Xg;if((_g|0)!=(Wg|0)){continue}break}if((Yg|0)!=-1){break e}}Wg=Yg+((Yg>>>0)%3|0?-1:2)|0;if((Wg|0)==-1){break e}Wg=q[q[hh>>2]+(Wg<<2)>>2];if((Wg|0)==-1){break e}Wg=Wg+((Wg>>>0)%3|0?-1:2)|0;if((Wg|0)==-1){break e}bh=q[ch>>2];while(1){Yg=(Wg>>>3&536870908)+bh|0;q[Yg>>2]=q[Yg>>2]|1<<(Wg&31);if(Zg){q[q[a>>2]+(Wg<<2)>>2]=q[$g+8>>2]}Wg=((Wg>>>0)%3|0?-1:2)+Wg|0;if((Wg|0)==-1){break e}Wg=q[q[hh>>2]+(Wg<<2)>>2];if((Wg|0)==-1){break e}Wg=Wg+((Wg>>>0)%3|0?-1:2)|0;if((Wg|0)!=-1){continue}break}}eh=eh+1|0;if((eh|0)!=3){continue}break}}ih=ih+1|0;Wg=q[a>>2];if(ih>>>0<(q[gh>>2]-Wg>>2>>>0)/3>>>0){continue}break b}break}bn();F()}q[a+44>>2]=0;Vg=q[ah>>2];Wg=q[ah+4>>2];Yg=Wg>>>5;Zg=Wg&31;if(Yg|Zg){Yg=(Yg<<2)+Vg|0;Xg=Vg;Wg=0;while(1){if(!(q[Xg>>2]>>>Wg&1)){lh=lh+1|0;q[a+44>>2]=lh}_g=(Wg|0)==31;Wg=_g?0:Wg+1|0;Xg=_g?Xg+4|0:Xg;if((Yg|0)!=(Xg|0)|(Wg|0)!=(Zg|0)){continue}break}}a=q[ch>>2];if(a){An(a);Vg=q[ah>>2]}if(Vg){An(Vg)}T=$g+48|0}function qk(a,Vg){var rh=0,sh=0,th=0,uh=0,vh=0,wh=0;th=q[a+8>>2];rh=q[a+4>>2];if(th-rh>>2>>>0>=Vg>>>0){while(1){q[rh>>2]=q[3475];rh=rh+4|0;Vg=Vg+ -1|0;if(Vg){continue}break}q[a+4>>2]=rh;return}a:{uh=q[a>>2];vh=rh-uh|0;wh=vh>>2;rh=wh+Vg|0;if(rh>>>0<1073741824){th=th-uh|0;sh=th>>1;rh=th>>2>>>0<536870911?sh>>>0>>0?rh:sh:1073741823;sh=0;b:{if(!rh){break b}if(rh>>>0>=1073741824){break a}sh=Mm(rh<<2)}th=sh+(rh<<2)|0;rh=sh+(wh<<2)|0;while(1){q[rh>>2]=q[3475];rh=rh+4|0;Vg=Vg+ -1|0;if(Vg){continue}break}if((vh|0)>=1){Cn(sh,uh,vh)}q[a>>2]=sh;q[a+8>>2]=th;q[a+4>>2]=rh;if(uh){An(uh)}return}bn();F()}ab(13904);F()}function rk(a,Vg,xh){var yh=0,zh=0,Ah=0;q[a>>2]=0;q[a+4>>2]=0;q[a+8>>2]=0;a:{b:{if(!Vg){break b}if((Vg|0)<=-1){break a}zh=Vg+ -1>>>5;Ah=zh+1|0;yh=Mm(Ah<<2);q[a+8>>2]=Ah;q[a>>2]=yh;Ah=r[xh|0];q[a+4>>2]=Vg;q[(Vg>>>0<33?yh:yh+(zh<<2)|0)>>2]=0;xh=Vg>>>5;zh=xh<<2;if(Ah){yh=Dn(yh,255,zh);Vg=Vg&31;if(!Vg){break b}xh=yh+(xh<<2)|0;q[xh>>2]=q[xh>>2]|-1>>>32-Vg;return a}yh=Dn(yh,0,zh);Vg=Vg&31;if(!Vg){break b}xh=yh+(xh<<2)|0;q[xh>>2]=q[xh>>2]&(-1>>>32-Vg^-1)}return a}bn();F()}function sk(a,Vg){var xh=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0;a:{Ch=q[a>>2];Fh=q[a+4>>2]-Ch|0;xh=Fh>>3;Bh=xh+1|0;if(Bh>>>0<536870912){Dh=xh<<3;Eh=q[a+8>>2]-Ch|0;xh=Eh>>2;Bh=Eh>>3>>>0<268435455?xh>>>0>>0?Bh:xh:536870911;xh=0;b:{if(!Bh){break b}if(Bh>>>0>=536870912){break a}xh=Mm(Bh<<3)}Dh=Dh+xh|0;Eh=q[Vg+4>>2];q[Dh>>2]=q[Vg>>2];q[Dh+4>>2]=Eh;Vg=xh+(Bh<<3)|0;Bh=Dh+8|0;if((Fh|0)>=1){Cn(xh,Ch,Fh)}q[a>>2]=xh;q[a+8>>2]=Vg;q[a+4>>2]=Bh;if(Ch){An(Ch)}return}bn();F()}ab(13904);F()}function tk(a,Vg,Gh){var Hh=0,Ih=0,Jh=0,Kh=0;a:{b:{if((Vg|Gh)<0|Vg>>>0>1431655765){break b}Vg=w(Vg,3);uk(a,Vg,13896);uk(a+12|0,Vg,13900);Vg=q[a+24>>2];c:{if(q[a+32>>2]-Vg>>2>>>0>=Gh>>>0){break c}if(Gh>>>0>=1073741824){break a}Jh=a+28|0;Hh=q[Jh>>2];Ih=Gh<<2;Gh=Mm(Ih);Ih=Gh+Ih|0;Hh=Hh-Vg|0;Kh=Hh+Gh|0;if((Hh|0)>=1){Cn(Gh,Vg,Hh)}q[a+24>>2]=Gh;q[a+32>>2]=Ih;q[Jh>>2]=Kh;if(!Vg){break c}An(Vg)}q[a+80>>2]=0;q[a+84>>2]=0;Gh=a+76|0;Vg=q[Gh>>2];q[Gh>>2]=0;if(Vg){An(Vg)}q[a+68>>2]=0;q[a+72>>2]=0;Vg=a- -64|0;a=q[Vg>>2];q[Vg>>2]=0;Hh=1;if(!a){break b}An(a)}return Hh}ab(13904);F()}function uk(a,Vg,Gh){var Lh=0,Mh=0,Nh=0,Oh=0,Ph=0;Lh=q[a+8>>2];Mh=q[a>>2];if(Lh-Mh>>2>>>0>=Vg>>>0){Nh=q[a+4>>2];Oh=Nh-Mh>>2;Ph=Oh>>>0>>0?Oh:Vg;if(Ph){Lh=Mh;while(1){q[Lh>>2]=q[Gh>>2];Lh=Lh+4|0;Ph=Ph+ -1|0;if(Ph){continue}break}}if(Oh>>>0>>0){Lh=Vg-Oh|0;while(1){q[Nh>>2]=q[Gh>>2];Nh=Nh+4|0;Lh=Lh+ -1|0;if(Lh){continue}break}q[a+4>>2]=Nh;return}q[a+4>>2]=(Vg<<2)+Mh;return}if(Mh){q[a+4>>2]=Mh;An(Mh);q[a+8>>2]=0;q[a>>2]=0;q[a+4>>2]=0;Lh=0}a:{if(Vg>>>0>=1073741824){break a}Mh=Lh>>1;Mh=Lh>>2>>>0<536870911?Mh>>>0>>0?Vg:Mh:1073741823;if(Mh>>>0>=1073741824){break a}Mh=Mh<<2;Lh=Mm(Mh);q[a>>2]=Lh;q[a+4>>2]=Lh;q[a+8>>2]=Lh+Mh;while(1){q[Lh>>2]=q[Gh>>2];Lh=Lh+4|0;Vg=Vg+ -1|0;if(Vg){continue}break}q[a+4>>2]=Lh;return}bn();F()}function vk(a){al(a);q[a+84>>2]=0;q[a+88>>2]=0;q[a>>2]=13980;q[a+92>>2]=0;q[a+96>>2]=0;q[a+100>>2]=0;q[a+104>>2]=0;return a}function wk(a){a=a|0;var Vg=0,Gh=0,Qh=0,Rh=0,Sh=0;q[a>>2]=14380;Vg=q[a+68>>2];if(Vg){q[a+72>>2]=Vg;An(Vg)}Vg=q[a+56>>2];if(Vg){q[a+60>>2]=Vg;An(Vg)}Vg=q[a+44>>2];if(Vg){q[a+48>>2]=Vg;An(Vg)}Vg=q[a+32>>2];if(Vg){q[a+36>>2]=Vg;An(Vg)}Vg=q[a+20>>2];if(Vg){q[a+24>>2]=Vg;An(Vg)}Qh=q[a+8>>2];if(Qh){Vg=Qh;Sh=a+12|0;Gh=q[Sh>>2];Rh=Vg;a:{if((Vg|0)==(Gh|0)){break a}while(1){Gh=Gh+ -4|0;Vg=q[Gh>>2];q[Gh>>2]=0;if(Vg){Hb(Vg)}if((Gh|0)!=(Qh|0)){continue}break}Rh=q[a+8>>2]}Vg=Rh;q[Sh>>2]=Qh;An(Vg)}Vg=q[a+4>>2];q[a+4>>2]=0;if(Vg){Lj(Vg)}return a|0}function xk(a){a=a|0;var Th=0;q[a>>2]=13980;Th=q[a+96>>2];if(Th){q[a+100>>2]=Th;An(Th)}Th=q[a+84>>2];if(Th){q[a+88>>2]=Th;An(Th)}wk(a);return a|0}function yk(a){a=a|0;var Uh=0;q[a>>2]=13980;Uh=q[a+96>>2];if(Uh){q[a+100>>2]=Uh;An(Uh)}Uh=q[a+84>>2];if(Uh){q[a+88>>2]=Uh;An(Uh)}wk(a);An(a)}function zk(a,Vh,Wh){a=a|0;Vh=Vh|0;Wh=Wh|0;var Xh=0,Yh=0;Xh=T-16|0;T=Xh;Yh=q[Wh>>2];q[Wh>>2]=0;q[Xh+8>>2]=Yh;gl(a,Vh,Xh+8|0);Wh=q[Xh+8>>2];q[Xh+8>>2]=0;if(Wh){Hb(Wh)}Yh=q[a+84>>2];Wh=q[a+88>>2]-Yh>>2;a:{if((Wh|0)>(Vh|0)){break a}Vh=Vh+1|0;if(Vh>>>0>Wh>>>0){Ak(a+84|0,Vh-Wh|0);break a}if(Vh>>>0>=Wh>>>0){break a}q[a+88>>2]=Yh+(Vh<<2)}T=Xh+16|0}function Ak(a,Vh){var Wh=0,Zh=0,_h=0,$h=0,ai=0,bi=0;_h=q[a+8>>2];Wh=q[a+4>>2];if(_h-Wh>>2>>>0>=Vh>>>0){while(1){q[Wh>>2]=1;Wh=Wh+4|0;Vh=Vh+ -1|0;if(Vh){continue}break}q[a+4>>2]=Wh;return}a:{$h=q[a>>2];ai=Wh-$h|0;bi=ai>>2;Wh=bi+Vh|0;if(Wh>>>0<1073741824){_h=_h-$h|0;Zh=_h>>1;Wh=_h>>2>>>0<536870911?Zh>>>0>>0?Wh:Zh:1073741823;Zh=0;b:{if(!Wh){break b}if(Wh>>>0>=1073741824){break a}Zh=Mm(Wh<<2)}_h=Zh+(Wh<<2)|0;Wh=Zh+(bi<<2)|0;while(1){q[Wh>>2]=1;Wh=Wh+4|0;Vh=Vh+ -1|0;if(Vh){continue}break}if((ai|0)>=1){Cn(Zh,$h,ai)}q[a>>2]=Zh;q[a+8>>2]=_h;q[a+4>>2]=Wh;if($h){An($h)}return}bn();F()}ab(14024);F()}function Bk(a,Vh){a=a|0;Vh=Vh|0;var ci=0,di=0,ei=0;jl(a,Vh);a:{if((Vh|0)<0){break a}ci=q[a+88>>2];di=q[a+84>>2];if(ci-di>>2<=(Vh|0)){break a}Vh=di+(Vh<<2)|0;di=Vh+4|0;ci=ci-di|0;ei=ci>>2;if(ci){En(Vh,di,ci)}q[a+88>>2]=Vh+(ei<<2)}}function Ck(a,Vh){var fi=0,gi=0,hi=0,ii=0,ji=0,ki=0;a:{hi=q[a>>2];ji=q[a+4>>2]-hi|0;fi=ji>>2;gi=fi+1|0;if(gi>>>0<1073741824){ki=fi<<2;fi=q[a+8>>2]-hi|0;ii=fi>>1;gi=fi>>2>>>0<536870911?ii>>>0>>0?gi:ii:1073741823;fi=0;b:{if(!gi){break b}if(gi>>>0>=1073741824){break a}fi=Mm(gi<<2)}ii=ki+fi|0;q[ii>>2]=q[Vh>>2];Vh=fi+(gi<<2)|0;gi=ii+4|0;if((ji|0)>=1){Cn(fi,hi,ji)}q[a>>2]=fi;q[a+8>>2]=Vh;q[a+4>>2]=gi;if(hi){An(hi)}return}bn();F()}ab(14092);F()}function Dk(a){q[a>>2]=0;q[a+4>>2]=0;o[a+24|0]=1;q[a+16>>2]=0;q[a+20>>2]=0;q[a+8>>2]=0;q[a+12>>2]=0;q[a+28>>2]=0;q[a+32>>2]=0;q[a+36>>2]=0;q[a+40>>2]=0;q[a+44>>2]=0;q[a+48>>2]=0;q[a+52>>2]=0;q[a+56>>2]=0;q[a+60>>2]=0;q[a+64>>2]=0;q[a+72>>2]=0;q[a+76>>2]=0;q[a+80>>2]=0;q[a+84>>2]=0;q[a+88>>2]=0;q[a+92>>2]=0;q[a+68>>2]=a}function Ek(a,Vh){var li=0,mi=0,ni=0,oi=0,pi=0,qi=0,ri=0,si=0;qi=T-16|0;T=qi;a:{b:{if(Vh){q[a+88>>2]=0;q[a+92>>2]=0;li=a+84|0;mi=q[li>>2];q[li>>2]=0;if(mi){An(mi)}q[a+76>>2]=0;q[a+80>>2]=0;li=a+72|0;mi=q[li>>2];q[li>>2]=0;if(mi){An(mi)}mi=Vh+4|0;li=q[mi>>2];ni=q[Vh>>2];o[qi+15|0]=0;bb(a,li-ni>>2,qi+15|0);ni=Vh+28|0;li=q[ni>>2];oi=q[Vh+24>>2];o[qi+14|0]=0;bb(a+12|0,li-oi>>2,qi+14|0);uk(a+28|0,q[mi>>2]-q[Vh>>2]>>2,14160);mi=q[a+52>>2];oi=q[ni>>2]-q[Vh+24>>2]|0;li=oi>>2;c:{if(q[a+60>>2]-mi>>2>>>0>=li>>>0){break c}if(li>>>0>=1073741824){break b}ri=a+56|0;pi=q[ri>>2];si=li<<2;li=Mm(oi);si=si+li|0;oi=pi-mi|0;pi=oi+li|0;if((oi|0)>=1){Cn(li,mi,oi)}q[a+52>>2]=li;q[a+60>>2]=si;q[ri>>2]=pi;if(!mi){break c}An(mi)}mi=q[a+40>>2];ni=q[ni>>2]-q[Vh+24>>2]|0;li=ni>>2;d:{if(q[a+48>>2]-mi>>2>>>0>=li>>>0){break d}if(li>>>0>=1073741824){break a}oi=a+44|0;ri=q[oi>>2];pi=li<<2;li=Mm(ni);pi=pi+li|0;ni=ri-mi|0;ri=ni+li|0;if((ni|0)>=1){Cn(li,mi,ni)}q[a+40>>2]=li;q[a+48>>2]=pi;q[oi>>2]=ri;if(!mi){break d}An(mi)}o[a+24|0]=1;q[a+64>>2]=Vh}T=qi+16|0;return}ab(14164);F()}ab(14164);F()}function Fk(a){var Vh=0,ti=0,ui=0,vi=0,wi=0,xi=0,yi=0,Ai=0,Bi=0,Ci=0,Di=0,Ei=0,Fi=0;ui=T-32|0;T=ui;xi=a+56|0;q[xi>>2]=q[a+52>>2];yi=a+44|0;q[yi>>2]=q[a+40>>2];Vh=q[a+64>>2];if(q[Vh+28>>2]!=q[Vh+24>>2]){Bi=a+40|0;Ci=a+52|0;Di=a+60|0;Ei=a+48|0;while(1){ti=q[q[Vh+24>>2]+(Ai<<2)>>2];a:{if((ti|0)==-1){break a}q[ui+24>>2]=wi;Vh=q[xi>>2];b:{if((Vh|0)!=q[Di>>2]){q[Vh>>2]=wi;q[xi>>2]=Vh+4;break b}Hk(Ci,ui+24|0)}q[ui+16>>2]=ti;q[ui+8>>2]=0;c:{if(!(q[q[a+12>>2]+(Ai>>>3&536870908)>>2]>>>(Ai&31)&1)){break c}d:{Vh=ti+1|0;Vh=(Vh>>>0)%3|0?Vh:ti+ -2|0;if(!((Vh|0)==-1|q[q[a>>2]+(Vh>>>3&536870908)>>2]>>>(Vh&31)&1)){Vh=q[q[q[a+64>>2]+12>>2]+(Vh<<2)>>2];if((Vh|0)!=-1){break d}}q[ui+8>>2]=-1;break c}vi=Vh+1|0;Vh=(vi>>>0)%3|0?vi:Vh+ -2|0;q[ui+8>>2]=Vh;if((Vh|0)==-1){break c}while(1){q[ui+16>>2]=Vh;e:{vi=Vh+1|0;ti=Vh;Vh=(vi>>>0)%3|0?vi:Vh+ -2|0;if(!((Vh|0)==-1|q[q[a>>2]+(Vh>>>3&536870908)>>2]>>>(Vh&31)&1)){Vh=q[q[q[a+64>>2]+12>>2]+(Vh<<2)>>2];if((Vh|0)!=-1){break e}}q[ui+8>>2]=-1;break c}vi=Vh+1|0;Vh=(vi>>>0)%3|0?vi:Vh+ -2|0;q[ui+8>>2]=Vh;if((Vh|0)!=-1){continue}break}}Fi=a+28|0;q[q[Fi>>2]+(ti<<2)>>2]=q[ui+24>>2];Vh=q[yi>>2];f:{if((Vh|0)!=q[Ei>>2]){q[Vh>>2]=q[ui+16>>2];q[yi>>2]=Vh+4;break f}zi(Bi,ui+16|0)}wi=wi+1|0;Vh=q[a+64>>2];g:{vi=q[ui+16>>2];if((vi|0)==-1){break g}ti=vi+((vi>>>0)%3|0?-1:2)|0;if((ti|0)==-1){break g}ti=q[q[Vh+12>>2]+(ti<<2)>>2];if((ti|0)==-1){break g}ti=ti+((ti>>>0)%3|0?-1:2)|0;q[ui+8>>2]=ti;if((ti|0)==-1|(ti|0)==(vi|0)){break a}while(1){Vh=ti+1|0;Vh=(Vh>>>0)%3|0?Vh:ti+ -2|0;h:{if(!(q[q[a>>2]+(Vh>>>3&536870908)>>2]>>>(Vh&31)&1)){break h}q[ui+24>>2]=wi;Vh=q[xi>>2];i:{if((Vh|0)!=q[Di>>2]){q[Vh>>2]=wi;q[xi>>2]=Vh+4;break i}Hk(Ci,ui+24|0)}wi=wi+1|0;Vh=q[yi>>2];if((Vh|0)!=q[Ei>>2]){q[Vh>>2]=q[ui+8>>2];q[yi>>2]=Vh+4;break h}zi(Bi,ui+8|0)}q[q[Fi>>2]+(q[ui+8>>2]<<2)>>2]=q[ui+24>>2];Vh=q[a+64>>2];ti=q[ui+8>>2];if((ti|0)==-1){break g}ti=ti+((ti>>>0)%3|0?-1:2)|0;if((ti|0)==-1){break g}ti=q[q[Vh+12>>2]+(ti<<2)>>2];if((ti|0)==-1){break g}ti=ti+((ti>>>0)%3|0?-1:2)|0;q[ui+8>>2]=ti;if((ti|0)==-1){break a}if(q[ui+16>>2]!=(ti|0)){continue}break}break a}q[ui+8>>2]=-1}Ai=Ai+1|0;if(Ai>>>0>2]-q[Vh+24>>2]>>2>>>0){continue}break}}T=ui+32|0}function Gk(a,zi){var Gi=0,Hi=0,Ii=0,Ji=0,Ki=0,Li=0;Ii=q[a>>2];Gi=Ii+(zi>>>3&536870908)|0;q[Gi>>2]=q[Gi>>2]|1<<(zi&31);Ki=q[a+64>>2];Ji=(zi|0)==-1;Gi=-1;a:{if(Ji){break a}Hi=zi+1|0;Hi=(Hi>>>0)%3|0?Hi:zi+ -2|0;Gi=-1;if((Hi|0)==-1){break a}Gi=q[q[Ki>>2]+(Hi<<2)>>2]}Hi=q[a+12>>2];Li=(Gi>>>3&536870908)+Hi|0;q[Li>>2]=q[Li>>2]|1<<(Gi&31);b:{c:{if(!Ji){Gi=-1;Ji=((zi>>>0)%3|0?-1:2)+zi|0;if((Ji|0)!=-1){Gi=q[q[Ki>>2]+(Ji<<2)>>2]}Ji=Hi+(Gi>>>3&536870908)|0;q[Ji>>2]=q[Ji>>2]|1<<(Gi&31);zi=q[q[Ki+12>>2]+(zi<<2)>>2];if((zi|0)==-1){break b}o[a+24|0]=0;a=(zi>>>3&536870908)+Ii|0;q[a>>2]=q[a>>2]|1<<(zi&31);a=-1;Gi=-1;Ii=zi+1|0;Ii=(Ii>>>0)%3|0?Ii:zi+ -2|0;if((Ii|0)!=-1){Gi=q[q[Ki>>2]+(Ii<<2)>>2]}Ii=Hi+(Gi>>>3&536870908)|0;q[Ii>>2]=q[Ii>>2]|1<<(Gi&31);zi=zi+((zi>>>0)%3|0?-1:2)|0;if((zi|0)!=-1){a=q[q[Ki>>2]+(zi<<2)>>2]}zi=1<<(a&31);a=Hi+(a>>>3&536870908)|0;Gi=q[a>>2];break c}a=Hi+536870908|0;zi=q[Hi+536870908>>2];Gi=-2147483648}q[a>>2]=zi|Gi}}function Hk(a,zi){var Mi=0,Ni=0,Oi=0,Pi=0,Qi=0,Ri=0;a:{Oi=q[a>>2];Qi=q[a+4>>2]-Oi|0;Mi=Qi>>2;Ni=Mi+1|0;if(Ni>>>0<1073741824){Ri=Mi<<2;Mi=q[a+8>>2]-Oi|0;Pi=Mi>>1;Ni=Mi>>2>>>0<536870911?Pi>>>0>>0?Ni:Pi:1073741823;Mi=0;b:{if(!Ni){break b}if(Ni>>>0>=1073741824){break a}Mi=Mm(Ni<<2)}Pi=Ri+Mi|0;q[Pi>>2]=q[zi>>2];zi=Mi+(Ni<<2)|0;Ni=Pi+4|0;if((Qi|0)>=1){Cn(Mi,Oi,Qi)}q[a>>2]=Mi;q[a+8>>2]=zi;q[a+4>>2]=Ni;if(Oi){An(Oi)}return}bn();F()}ab(14164);F()}function Ik(a,zi){var Si=0,Ti=0,Ui=0,Vi=0,Wi=0,Xi=0,Yi=0,Zi=0,_i=0,$i=0,aj=0;Ti=T-16|0;T=Ti;a:{Ui=cl(zi);if(!Ui){q[a>>2]=0;break a}Vi=q[zi+100>>2];Zi=q[zi+96>>2];q[Ti+8>>2]=0;q[Ti>>2]=0;q[Ti+4>>2]=0;zi=Vi-Zi|0;Yi=(zi|0)/12|0;b:{if(zi){if(Yi>>>0>=357913942){break b}Wi=Mm(zi);q[Ti>>2]=Wi;q[Ti+4>>2]=Wi;q[Ti+8>>2]=w(Yi,12)+Wi;zi=Dn(Wi,0,zi);Si=Yi;while(1){zi=zi+12|0;Si=Si+ -1|0;if(Si){continue}break}q[Ti+4>>2]=zi}if((Vi|0)!=(Zi|0)){zi=0;$i=r[Ui+84|0];aj=Ui+68|0;while(1){_i=w(zi,12);Si=_i+Zi|0;Ui=q[Si>>2];c:{if($i){Vi=Si+8|0;Si=Si+4|0;break c}Xi=q[aj>>2];Vi=Xi+(q[Si+8>>2]<<2)|0;Ui=q[Xi+(Ui<<2)>>2];Si=Xi+(q[Si+4>>2]<<2)|0}Xi=q[Si>>2];Si=Wi+_i|0;q[Si+8>>2]=q[Vi>>2];q[Si+4>>2]=Xi;q[Si>>2]=Ui;zi=zi+1|0;if(zi>>>0>>0){continue}break}}kk(a,Ti);a=q[Ti>>2];if(!a){break a}q[Ti+4>>2]=a;An(a);break a}bn();F()}T=Ti+16|0}function Jk(a,zi,bj){var cj=0,dj=0,ej=0,fj=0,gj=0,hj=0,ij=0,jj=0,kj=0,lj=0,mj=0,nj=0,oj=0,pj=0,qj=0,rj=0;hj=T-16|0;T=hj;gj=w(zi,12)+a|0;ij=gj+12|0;nj=gj+8|0;q[ij>>2]=q[nj>>2];q[hj+8>>2]=(bj|0)==-1?-1:(bj>>>0)/3|0;oj=gj+16|0;pj=a+4|0;ej=bj;while(1){gj=dj;jj=(dj|0)==1;a:{b:{if(!jj){dj=q[hj+8>>2];break b}if((ej|0)==-1){ej=-1;Kk(a,-1);break a}if((ej|0)==-1|(Kk(a,((ej>>>0)%3|0?-1:2)+ej|0)|0)==-1){break a}bj=ej+1|0;cj=(bj>>>0)%3|0?bj:ej+ -2|0;if((cj|0)==-1){break a}bj=cj+1|0;bj=(bj>>>0)%3|0?bj:cj+ -2|0;if((bj|0)==-1){break a}cj=q[q[q[pj>>2]+12>>2]+(bj<<2)>>2];if((cj|0)==-1){break a}bj=cj+1|0;bj=(bj>>>0)%3|0?bj:cj+ -2|0;if((bj|0)==-1){break a}dj=(bj>>>0)/3|0;q[hj+8>>2]=dj}kj=1<<(dj&31);lj=q[a+56>>2]+(dj>>>3&536870908)|0;mj=q[lj>>2];c:{if(kj&mj){break c}fj=0;while(1){q[lj>>2]=kj|mj;cj=q[ij>>2];d:{if((cj|0)!=q[oj>>2]){q[cj>>2]=dj;q[ij>>2]=cj+4;break d}Ck(nj,hj+8|0)}cj=fj+1|0;e:{if(!fj){break e}if(cj&1){if((bj|0)==-1){bj=-1;break e}fj=bj+1|0;bj=(fj>>>0)%3|0?fj:bj+ -2|0;break e}ej=jj?bj:ej;if((bj|0)==-1){bj=-1;break e}if((bj>>>0)%3){bj=bj+ -1|0;break e}bj=bj+2|0}bj=Kk(a,bj);if((bj|0)!=-1){dj=(bj>>>0)/3|0;q[hj+8>>2]=dj;fj=cj;kj=1<<(dj&31);lj=q[a+56>>2]+(dj>>>3&268435452)|0;mj=q[lj>>2];if(!(kj&mj)){continue}}break}if(!(cj&1)|(gj|0)!=1){break c}jj=q[ij>>2]+ -4|0;dj=q[jj>>2];fj=q[a+56>>2]+(dj>>>3&536870908)|0;cj=q[fj>>2];qj=fj,rj=eo(dj)&cj,q[qj>>2]=rj;q[ij>>2]=jj}dj=1;if(!gj){continue}}break}q[((zi<<2)+a|0)+44>>2]=ej;zi=q[ij>>2];ej=q[nj>>2];if((zi|0)!=(ej|0)){fj=zi-ej>>2;cj=q[a+56>>2];bj=0;while(1){gj=q[ej+(bj<<2)>>2];zi=cj+(gj>>>3&536870908)|0;a=q[zi>>2];qj=zi,rj=eo(gj)&a,q[qj>>2]=rj;bj=bj+1|0;if(bj>>>0>>0){continue}break}}T=hj+16|0}function Kk(a,zi){var bj=0,sj=0,tj=0,uj=0,vj=0;sj=-1;uj=-1;tj=-1;a:{b:{if((zi|0)==-1){break b}vj=1;uj=q[q[q[a+4>>2]+12>>2]+(zi<<2)>>2];bj=zi+1|0;bj=(bj>>>0)%3|0?bj:zi+ -2|0;if((bj|0)>=0){tj=(bj>>>0)/3|0;tj=q[(q[q[a>>2]+96>>2]+w(tj,12)|0)+(bj-w(tj,3)<<2)>>2]}c:{if((uj|0)==-1){break c}vj=0;bj=((uj>>>0)%3|0?-1:2)+uj|0;if((bj|0)<0){break c}sj=(bj>>>0)/3|0;sj=q[(q[q[a>>2]+96>>2]+w(sj,12)|0)+(bj-w(sj,3)<<2)>>2]}bj=-1;if((sj|0)!=(tj|0)){break a}tj=-1;d:{zi=((zi>>>0)%3|0?-1:2)+zi|0;if((zi|0)>=0){sj=(zi>>>0)/3|0;sj=q[(q[q[a>>2]+96>>2]+w(sj,12)|0)+(zi-w(sj,3)<<2)>>2];if(vj){break b}break d}sj=-1;if(!vj){break d}break b}zi=uj+1|0;zi=(zi>>>0)%3|0?zi:uj+ -2|0;if((zi|0)<0){break b}tj=q[q[a>>2]+96>>2];a=(zi>>>0)/3|0;tj=q[(tj+w(a,12)|0)+(zi-w(a,3)<<2)>>2]}bj=(sj|0)==(tj|0)?uj:-1}return bj}function Lk(a,zi){var wj=0,xj=0,yj=0,zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0;xj=T-48|0;T=xj;q[xj+40>>2]=0;q[xj+32>>2]=0;q[xj+36>>2]=0;wj=Mm(8);q[wj+4>>2]=zi;q[wj>>2]=0;zi=wj+8|0;q[xj+40>>2]=zi;q[xj+36>>2]=zi;q[xj+32>>2]=wj;a:{b:{c:{d:{while(1){zi=zi+ -8|0;Bj=q[zi+4>>2];Gj=q[zi>>2];q[xj+36>>2]=zi;if(Gj){q[xj+24>>2]=0;q[xj+16>>2]=0;q[xj+20>>2]=0;Dj=1;zi=q[a>>2];Aj=q[zi+16>>2];zj=q[zi+12>>2];wj=q[zi+20>>2];e:{if((zj|0)<(wj|0)?1:(zj|0)<=(wj|0)?t[zi+8>>2]>Aj>>>0?0:1:0){break e}yj=r[Aj+q[zi>>2]|0];zj=Aj+1|0;if(zj>>>0<1){wj=wj+1|0}q[zi+16>>2]=zj;q[zi+20>>2]=wj;Wm(xj+16|0,yj);if(yj){zj=q[a>>2];Fj=_m(xj+16|0);Cj=q[zj+12>>2];Aj=q[zj+20>>2];Ej=q[zj+16>>2];zi=yj;wj=Ej+zi|0;if(wj>>>0>>0){Aj=Aj+1|0}if((Cj|0)<(Aj|0)?1:(Cj|0)<=(Aj|0)?t[zj+8>>2]>=wj>>>0?0:1:0){break e}Cn(Fj,Ej+q[zj>>2]|0,yj);wj=zj;zj=wj;Aj=q[wj+20>>2];yj=zi+q[wj+16>>2]|0;if(yj>>>0>>0){Aj=Aj+1|0}q[zj+16>>2]=yj;q[wj+20>>2]=Aj}Bj=Mm(24);wj=Bj+4|0;q[wj>>2]=0;q[wj+4>>2]=0;zi=Bj+16|0;q[zi>>2]=0;q[zi+4>>2]=0;q[Bj>>2]=wj;q[Bj+12>>2]=zi;q[xj+8>>2]=Bj;_k(Gj,xj+16|0,xj+8|0);zi=q[xj+8>>2];Dj=0;q[xj+8>>2]=0;if(!zi){break e}Hc(zi+12|0,q[zi+16>>2]);Ic(zi,q[zi+4>>2]);An(zi)}if(o[xj+27|0]<=-1){An(q[xj+16>>2])}if(Dj){break b}}if(!Bj){break b}q[xj+16>>2]=0;if(!Mk(1,xj+16|0,q[a>>2])){break b}zi=0;wj=q[xj+16>>2];if(wj){while(1){if(!Nk(a,Bj)){break b}zi=zi+1|0;if(zi>>>0>>0){continue}break}}q[xj+4>>2]=0;if(!Mk(1,xj+4|0,q[a>>2])){break b}Aj=q[xj+4>>2];if(Aj){Dj=0;while(1){zi=q[xj+36>>2];wj=q[xj+40>>2];f:{if(zi>>>0>>0){q[zi+4>>2]=0;q[zi>>2]=Bj;q[xj+36>>2]=q[xj+36>>2]+8;break f}Cj=q[xj+32>>2];Fj=zi-Cj|0;zi=Fj>>3;Ej=zi+1|0;if(Ej>>>0>=536870912){break d}zj=zi<<3;yj=wj-Cj|0;wj=yj>>2;yj=yj>>3>>>0<268435455?wj>>>0>>0?Ej:wj:536870911;zi=0;g:{if(!yj){break g}if(yj>>>0>=536870912){break c}zi=Mm(yj<<3)}wj=zj+zi|0;q[wj+4>>2]=0;q[wj>>2]=Bj;yj=zi+(yj<<3)|0;wj=wj+8|0;if((Fj|0)>=1){Cn(zi,Cj,Fj)}q[xj+40>>2]=yj;q[xj+36>>2]=wj;q[xj+32>>2]=zi;if(!Cj){break f}An(Cj)}Dj=Dj+1|0;if(Dj>>>0>>0){continue}break}}zi=q[xj+36>>2];wj=q[xj+32>>2];if((zi|0)!=(wj|0)){continue}break}a=1;break a}bn();F()}ab(14232);F()}wj=q[xj+32>>2];a=0}if(wj){q[xj+36>>2]=wj;An(wj)}T=xj+48|0;return a}function Mk(a,zi,Hj){var Ij=0,Jj=0,Kj=0,Lj=0;a:{if(a>>>0>5){break a}Kj=q[Hj+16>>2];Ij=q[Hj+12>>2];Jj=q[Hj+20>>2];if((Ij|0)<(Jj|0)?1:(Ij|0)<=(Jj|0)?t[Hj+8>>2]>Kj>>>0?0:1:0){break a}Ij=r[Kj+q[Hj>>2]|0];Kj=Kj+1|0;if(Kj>>>0<1){Jj=Jj+1|0}q[Hj+16>>2]=Kj;q[Hj+20>>2]=Jj;Jj=zi;if(Ij&128){if(!Mk(a+1|0,zi,Hj)){break a}a=q[zi>>2]<<7;q[zi>>2]=a;Ij=a|Ij&127}q[Jj>>2]=Ij;Lj=1}return Lj}function Nk(a,zi){var Hj=0,Mj=0,Nj=0,Oj=0,Pj=0,Qj=0,Rj=0,Sj=0,Tj=0,Uj=0;Mj=T-32|0;T=Mj;q[Mj+24>>2]=0;q[Mj+16>>2]=0;q[Mj+20>>2]=0;a:{Nj=q[a>>2];Hj=Nj;Pj=q[Hj+16>>2];Qj=t[Hj+8>>2]>Pj>>>0?0:1;Oj=q[Hj+12>>2];Hj=q[Hj+20>>2];b:{if((Oj|0)<(Hj|0)?1:(Oj|0)<=(Hj|0)?Qj:0){break b}Qj=r[Pj+q[Nj>>2]|0];Oj=Hj;Hj=Pj+1|0;if(Hj>>>0<1){Oj=Oj+1|0}q[Nj+16>>2]=Hj;q[Nj+20>>2]=Oj;Wm(Mj+16|0,Qj);if(Qj){Oj=q[a>>2];Sj=_m(Mj+16|0);Uj=q[Oj+12>>2];Pj=q[Oj+20>>2];Tj=q[Oj+16>>2];Nj=Qj;Hj=Tj+Nj|0;if(Hj>>>0>>0){Pj=Pj+1|0}if((Uj|0)<(Pj|0)?1:(Uj|0)<=(Pj|0)?t[Oj+8>>2]>=Hj>>>0?0:1:0){break b}Cn(Sj,Tj+q[Oj>>2]|0,Qj);Hj=Oj;Oj=Hj;Pj=q[Hj+20>>2];Qj=Nj+q[Hj+16>>2]|0;if(Qj>>>0>>0){Pj=Pj+1|0}q[Oj+16>>2]=Qj;q[Hj+20>>2]=Pj}q[Mj+12>>2]=0;Hj=Mk(1,Mj+12|0,q[a>>2]);Nj=q[Mj+12>>2];if(!Nj|!Hj){break b}q[Mj+8>>2]=0;q[Mj>>2]=0;q[Mj+4>>2]=0;if((Nj|0)<=-1){break a}Rj=Mm(Nj);q[Mj>>2]=Rj;q[Mj+4>>2]=Rj;q[Mj+8>>2]=Nj+Rj;Hj=Nj;while(1){o[Rj|0]=0;Rj=q[Mj+4>>2]+1|0;q[Mj+4>>2]=Rj;Hj=Hj+ -1|0;if(Hj){continue}break}Rj=0;Hj=q[a>>2];a=q[Hj+8>>2];Tj=q[Hj+12>>2];Oj=a;Sj=q[Hj+20>>2];Pj=q[Hj+16>>2];a=Nj;Qj=Pj+Nj|0;if(Qj>>>0>>0){Sj=Sj+1|0}if((Tj|0)>(Sj|0)?1:(Tj|0)>=(Sj|0)?Oj>>>0>>0?0:1:0){Cn(q[Mj>>2],Pj+q[Hj>>2]|0,Nj);Nj=Hj;Qj=Hj;Oj=q[Hj+20>>2];Hj=a+q[Hj+16>>2]|0;if(Hj>>>0>>0){Oj=Oj+1|0}q[Qj+16>>2]=Hj;q[Nj+20>>2]=Oj;Zk(zi,Mj+16|0,Mj);Rj=1}a=q[Mj>>2];if(!a){break b}q[Mj+4>>2]=a;An(a)}if(o[Mj+27|0]<=-1){An(q[Mj+16>>2])}T=Mj+32|0;return Rj}bn();F()}function Ok(a,zi,Vj){var Wj=0,Xj=0,Yj=0,Zj=0,_j=0;Xj=T-16|0;T=Xj;a:{b:{if(!Vj){break b}q[a>>2]=zi;q[Xj+12>>2]=0;Wj=0;if(!Mk(1,Xj+12|0,zi)){break a}c:{_j=q[Xj+12>>2];if(_j){zi=0;while(1){if(!Mk(1,Xj+8|0,q[a>>2])){break b}Wj=Mm(28);Yj=Wj+4|0;q[Yj>>2]=0;q[Yj+4>>2]=0;Zj=Wj+16|0;q[Zj>>2]=0;q[Zj+4>>2]=0;q[Wj>>2]=Yj;Yj=Wj+12|0;q[Yj>>2]=Zj;q[Wj+24>>2]=q[Xj+8>>2];if(!Lk(a,Wj)){break c}q[Xj>>2]=Wj;Qk(Vj,Xj);Wj=q[Xj>>2];q[Xj>>2]=0;if(Wj){Hc(Wj+12|0,q[Wj+16>>2]);Ic(Wj,q[Wj+4>>2]);An(Wj)}zi=zi+1|0;if(zi>>>0<_j>>>0){continue}break}}Wj=Lk(a,Vj);break a}Hc(Yj,q[Wj+16>>2]);Ic(Wj,q[Wj+4>>2]);An(Wj)}Wj=0}T=Xj+16|0;return Wj}function Pk(a,zi,Vj){var $j=0,ak=0,bk=0,ck=0,dk=0,ek=0,fk=0,gk=0,hk=0,ik=0,jk=0,kk=0;$j=T-16|0;T=$j;ck=q[a+24>>2];hk=q[a+28>>2];a:{if((ck|0)!=(hk|0)){jk=$j+8|0;kk=Vj+4|0;while(1){q[jk>>2]=0;q[$j>>2]=0;q[$j+4>>2]=0;a=Yk(q[ck>>2],zi,$j);dk=r[$j+11|0];gk=dk<<24>>24;b:{c:{d:{if(!a){a=3;break d}a=0;ak=r[Vj+11|0];bk=ak<<24>>24;fk=(gk|0)<0?q[$j+4>>2]:dk;if((fk|0)!=(((bk|0)<0?q[kk>>2]:ak)|0)){break d}ek=(bk|0)<0?q[Vj>>2]:Vj;bk=q[$j>>2];ak=(gk|0)<0;e:{if(!ak){if(!fk){break e}ak=$j;if(r[ek|0]!=(bk&255)){break d}while(1){dk=dk+ -1|0;if(!dk){break e}bk=r[ek+1|0];ek=ek+1|0;ak=ak+1|0;if((bk|0)==r[ak|0]){continue}break}break d}if(!fk){break e}if(cm(ak?bk:$j,ek,fk)){break c}}ik=q[ck>>2];a=1}if((gk|0)>-1){break b}}An(q[$j>>2])}if(a>>>0>3){break a}f:{switch(a-1|0){case 0:case 1:break a;default:break f}}ck=ck+4|0;if((hk|0)!=(ck|0)){continue}break}}ik=0}T=$j+16|0;return ik}function Qk(a,zi){var Vj=0,lk=0,mk=0;lk=q[zi>>2];if(!lk){return}Vj=a+28|0;mk=q[Vj>>2];if(mk>>>0>2]){q[zi>>2]=0;q[mk>>2]=lk;q[Vj>>2]=q[Vj>>2]+4;return}Rk(a+24|0,zi)}function Rk(a,zi){var nk=0,ok=0,pk=0,qk=0,rk=0;a:{b:{c:{pk=q[a>>2];qk=q[a+4>>2]-pk>>2;nk=qk+1|0;if(nk>>>0<1073741824){pk=q[a+8>>2]-pk|0;rk=pk>>1;nk=pk>>2>>>0<536870911?rk>>>0>>0?nk:rk:1073741823;if(nk){if(nk>>>0>=1073741824){break c}ok=Mm(nk<<2)}pk=q[zi>>2];q[zi>>2]=0;zi=(qk<<2)+ok|0;q[zi>>2]=pk;pk=(nk<<2)+ok|0;qk=zi+4|0;nk=q[a+4>>2];ok=q[a>>2];if((nk|0)==(ok|0)){break b}while(1){nk=nk+ -4|0;rk=q[nk>>2];q[nk>>2]=0;zi=zi+ -4|0;q[zi>>2]=rk;if((nk|0)!=(ok|0)){continue}break}ok=q[a+4>>2];nk=q[a>>2];break a}bn();F()}ab(14300);F()}nk=ok}q[a>>2]=zi;q[a+8>>2]=pk;q[a+4>>2]=qk;if((nk|0)!=(ok|0)){while(1){ok=ok+ -4|0;a=q[ok>>2];q[ok>>2]=0;if(a){Hc(a+12|0,q[a+16>>2]);Ic(a,q[a+4>>2]);An(a)}if((nk|0)!=(ok|0)){continue}break}}if(nk){An(nk)}}function Sk(a,zi,sk,tk){var uk=0,vk=0,wk=0,xk=0;uk=T-16|0;T=uk;xk=a;vk=ph(zi,uk+12|0,sk);sk=q[vk>>2];if(sk){zi=0}else{sk=Mm(32);Rm(sk+16|0,q[tk>>2]);q[sk+28>>2]=0;q[sk+8>>2]=q[uk+12>>2];q[sk>>2]=0;q[sk+4>>2]=0;q[vk>>2]=sk;tk=sk;wk=q[q[zi>>2]>>2];if(wk){q[zi>>2]=wk;tk=q[vk>>2]}nh(q[zi+4>>2],tk);zi=zi+8|0;q[zi>>2]=q[zi>>2]+1;zi=1}o[xk+4|0]=zi;q[a>>2]=sk;T=uk+16|0}function Tk(a,zi){var sk=0,tk=0,yk=0;sk=q[zi+4>>2];a:{if(!sk){tk=q[zi+8>>2];if(q[tk>>2]==(zi|0)){break a}yk=zi+8|0;while(1){sk=q[yk>>2];yk=sk+8|0;tk=q[sk+8>>2];if((sk|0)!=q[tk>>2]){continue}break}break a}while(1){tk=sk;sk=q[sk>>2];if(sk){continue}break}}if(q[a>>2]==(zi|0)){q[a>>2]=tk}tk=a+8|0;q[tk>>2]=q[tk>>2]+ -1;$k(q[a+4>>2],zi);a=q[zi+28>>2];if(a){q[zi+32>>2]=a;An(a)}if(o[zi+27|0]<=-1){An(q[zi+16>>2])}An(zi)}function Uk(a,zi,zk){var Ak=0,Bk=0,Ck=0,Dk=0,Ek=0;Ak=Mm(40);o[a+8|0]=0;q[a+4>>2]=zi+4;q[a>>2]=Ak;zi=zk+8|0;q[Ak+24>>2]=q[zi>>2];Bk=q[zk+4>>2];q[Ak+16>>2]=q[zk>>2];q[Ak+20>>2]=Bk;q[zk>>2]=0;q[zk+4>>2]=0;q[zi>>2]=0;q[Ak+36>>2]=0;q[Ak+28>>2]=0;q[Ak+32>>2]=0;Ck=zk+16|0;Bk=q[Ck>>2];zi=q[zk+12>>2];Dk=Bk-zi|0;if(Dk){zi=Ak+28|0;Ha(zi,Dk);Bk=q[Ck>>2];Ek=q[zi>>2];zi=q[zk+12>>2]}Cn(Ek,zi,Bk-zi|0);o[a+8|0]=1}function Vk(a,zi,zk){var Fk=0;Fk=a+4|0;a=fk(a,zi);a:{if((Fk|0)==(a|0)){break a}zi=q[a+32>>2];a=q[a+28>>2];if((zi-a|0)!=4){break a}q[zk>>2]=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24)}}function Wk(a,zi,zk){var Gk=0,Hk=0,Ik=0,Jk=0;a:{zi=fk(a,zi);b:{if((zi|0)==(a+4|0)){break b}a=q[zi+28>>2];Gk=q[zi+32>>2];if((a|0)==(Gk|0)){break b}a=Gk-a|0;if(a&3){break b}Gk=a>>>2;Jk=zk+4|0;Hk=q[Jk>>2];a=q[zk>>2];Ik=Hk-a>>2;c:{if(Gk>>>0>Ik>>>0){Fa(zk,Gk-Ik|0);Hk=q[Jk>>2];a=q[zk>>2];break c}if(Gk>>>0>=Ik>>>0){break c}Hk=(Gk<<2)+a|0;q[zk+4>>2]=Hk}if((a|0)==(Hk|0)){break a}zk=a;a=q[zi+28>>2];Cn(zk,a,q[zi+32>>2]-a|0)}return}cn();F()}function Xk(a,zi,zk){var Kk=0;Kk=a+4|0;a=fk(a,zi);a:{if((Kk|0)==(a|0)){break a}zi=q[a+32>>2];a=q[a+28>>2];if((zi-a|0)!=8){break a}zi=r[a+4|0]|r[a+5|0]<<8|(r[a+6|0]<<16|r[a+7|0]<<24);q[zk>>2]=r[a|0]|r[a+1|0]<<8|(r[a+2|0]<<16|r[a+3|0]<<24);q[zk+4>>2]=zi}}function Yk(a,zi,zk){var Lk=0,Mk=0,Nk=0;Lk=a+4|0;a=fk(a,zi);a:{if((Lk|0)==(a|0)){break a}zi=a+32|0;Lk=q[zi>>2];Mk=q[a+28>>2];if((Lk|0)==(Mk|0)){break a}Wm(zk,Lk-Mk|0);zk=_m(zk);a=q[a+28>>2];Cn(zk,a,q[zi>>2]-a|0);Nk=1}return Nk}function Zk(a,zi,zk){var Ok=0,Pk=0,Qk=0,Rk=0;Ok=T+ -64|0;T=Ok;Pk=fk(a,zi);if((Pk|0)!=(a+4|0)){Tk(a,Pk)}Pk=0;q[Ok+16>>2]=0;q[Ok+8>>2]=0;q[Ok+12>>2]=0;Rk=q[zk>>2];Qk=q[zk+4>>2]-Rk|0;if(Qk){Ha(Ok+8|0,Qk);Rk=q[zk>>2];zk=q[Ok+8>>2]}else{zk=0}Cn(zk,Rk,Qk);Rk=Rm(Ok+24|0,zi);q[Ok+44>>2]=0;q[Ok+36>>2]=0;q[Ok+40>>2]=0;zi=q[Ok+12>>2];zk=q[Ok+8>>2];Qk=zi-zk|0;if(Qk){Ha(Ok+36|0,Qk);zk=q[Ok+8>>2];Pk=q[Ok+36>>2];zi=q[Ok+12>>2]}Cn(Pk,zk,zi-zk|0);zi=ph(a,Ok+60|0,Rk);if(!q[zi>>2]){Uk(Ok+48|0,a,Ok+24|0);zk=q[Ok+48>>2];q[zk+8>>2]=q[Ok+60>>2];q[zk>>2]=0;q[zk+4>>2]=0;q[zi>>2]=zk;Pk=q[q[a>>2]>>2];if(Pk){q[a>>2]=Pk;zk=q[zi>>2]}nh(q[a+4>>2],zk);a=a+8|0;q[a>>2]=q[a>>2]+1}a=q[Ok+36>>2];if(a){q[Ok+40>>2]=a;An(a)}if(o[Ok+35|0]<=-1){An(q[Ok+24>>2])}a=q[Ok+8>>2];if(a){q[Ok+12>>2]=a;An(a)}T=Ok- -64|0}function _k(a,zi,zk){var Tk=0,Uk=0;Tk=T-32|0;T=Tk;Uk=a+12|0;a:{if((fk(Uk,zi)|0)!=(a+16|0)){break a}q[Tk+16>>2]=zi;Sk(Tk+24|0,Uk,zi,Tk+16|0);a=q[Tk+24>>2];zi=q[zk>>2];q[zk>>2]=0;zk=a+28|0;a=q[zk>>2];q[zk>>2]=zi;if(!a){break a}Hc(a+12|0,q[a+16>>2]);Ic(a,q[a+4>>2]);An(a)}T=Tk+32|0}function $k(a,zi){var zk=0,Sk=0,Vk=0,Wk=0,Xk=0,Yk=0;a:{b:{Sk=zi;Vk=q[zi>>2];if(Vk){zk=q[zi+4>>2];if(!zk){break b}while(1){Sk=zk;zk=q[zk>>2];if(zk){continue}break}}Vk=q[Sk+4>>2];if(Vk){break b}Vk=0;Xk=0;break a}q[Vk+8>>2]=q[Sk+8>>2];Xk=1}Wk=q[Sk+8>>2];zk=q[Wk>>2];c:{if((zk|0)==(Sk|0)){q[Wk>>2]=Vk;if((a|0)==(Sk|0)){zk=0;a=Vk;break c}zk=q[Wk+4>>2];break c}q[Wk+4>>2]=Vk}d:{e:{f:{Yk=!r[Sk+12|0];if((zi|0)!=(Sk|0)){Wk=q[zi+8>>2];q[Sk+8>>2]=Wk;q[Wk+((q[q[zi+8>>2]>>2]!=(zi|0))<<2)>>2]=Sk;Wk=q[zi>>2];q[Sk>>2]=Wk;q[Wk+8>>2]=Sk;Wk=q[zi+4>>2];q[Sk+4>>2]=Wk;if(Wk){q[Wk+8>>2]=Sk}o[Sk+12|0]=r[zi+12|0];a=(a|0)==(zi|0)?Sk:a}if(!(Yk|!a)){if(!Xk){while(1){zi=r[zk+12|0];g:{Vk=q[zk+8>>2];if(q[Vk>>2]!=(zk|0)){if(!zi){o[zk+12|0]=1;o[Vk+12|0]=0;zi=Vk+4|0;Xk=q[zi>>2];Sk=q[Xk>>2];q[zi>>2]=Sk;if(Sk){q[Sk+8>>2]=Vk}q[Xk+8>>2]=q[Vk+8>>2];zi=q[Vk+8>>2];q[((Vk|0)==q[zi>>2]?zi:zi+4|0)>>2]=Xk;q[Xk>>2]=Vk;q[Vk+8>>2]=Xk;zi=q[zk>>2];a=(zi|0)==(a|0)?zk:a;zk=q[zi+4>>2]}Sk=q[zk>>2];if(!(r[Sk+12|0]?0:Sk)){zi=q[zk+4>>2];if(r[zi+12|0]?0:zi){break f}o[zk+12|0]=0;zk=q[zk+8>>2];h:{if((zk|0)==(a|0)){zk=a;break h}if(r[zk+12|0]){break g}}o[zk+12|0]=1;return}zi=q[zk+4>>2];if(zi){break f}break e}i:{if(zi){zi=zk;break i}o[zk+12|0]=1;o[Vk+12|0]=0;zi=q[zk+4>>2];q[Vk>>2]=zi;if(zi){q[zi+8>>2]=Vk}q[zk+8>>2]=q[Vk+8>>2];Sk=q[Vk+8>>2];j:{if((Vk|0)==q[Sk>>2]){q[Sk>>2]=zk;zi=q[Vk>>2];break j}q[Sk+4>>2]=zk}q[zk+4>>2]=Vk;q[Vk+8>>2]=zk;a=(a|0)==(Vk|0)?zk:a}Sk=q[zi>>2];k:{if(!(!Sk|r[Sk+12|0])){zk=zi;break k}zk=q[zi+4>>2];if(!(r[zk+12|0]?0:zk)){o[zi+12|0]=0;zk=q[zi+8>>2];if(r[zk+12|0]?(zk|0)!=(a|0):0){break g}o[zk+12|0]=1;return}if(Sk){if(!r[Sk+12|0]){zk=zi;break k}zk=q[zi+4>>2]}o[zk+12|0]=1;o[zi+12|0]=0;a=q[zk>>2];q[zi+4>>2]=a;if(a){q[a+8>>2]=zi}q[zk+8>>2]=q[zi+8>>2];a=q[zi+8>>2];q[(q[a>>2]==(zi|0)?a:a+4|0)>>2]=zk;q[zk>>2]=zi;q[zi+8>>2]=zk;Sk=zi}a=zk;zk=q[zk+8>>2];o[a+12|0]=r[zk+12|0];o[zk+12|0]=1;o[Sk+12|0]=1;zi=q[zk>>2];a=q[zi+4>>2];q[zk>>2]=a;if(a){q[a+8>>2]=zk}q[zi+8>>2]=q[zk+8>>2];a=q[zk+8>>2];q[((zk|0)==q[a>>2]?a:a+4|0)>>2]=zi;q[zi+4>>2]=zk;q[zk+8>>2]=zi;return}zi=q[zk+8>>2];zk=q[(q[zi>>2]==(zk|0)?zi+4|0:zi)>>2];continue}}o[Vk+12|0]=1}return}if(r[zi+12|0]){break e}Sk=zk;break d}o[Sk+12|0]=1;o[zk+12|0]=0;a=q[Sk+4>>2];q[zk>>2]=a;if(a){q[a+8>>2]=zk}q[Sk+8>>2]=q[zk+8>>2];a=q[zk+8>>2];q[(q[a>>2]==(zk|0)?a:a+4|0)>>2]=Sk;q[Sk+4>>2]=zk;q[zk+8>>2]=Sk;zi=zk}zk=q[Sk+8>>2];o[Sk+12|0]=r[zk+12|0];o[zk+12|0]=1;o[zi+12|0]=1;zi=q[zk+4>>2];a=q[zi>>2];q[zk+4>>2]=a;if(a){q[a+8>>2]=zk}q[zi+8>>2]=q[zk+8>>2];a=q[zk+8>>2];q[((zk|0)==q[a>>2]?a:a+4|0)>>2]=zi;q[zi>>2]=zk;q[zk+8>>2]=zi}function al(a){q[a>>2]=14380;Dn(a+4|0,0,80);return a}function bl(a,zi){var Zk=0;Zk=-1;a:{if((zi|0)==-1|(zi|0)>4){break a}zi=w(zi,12)+a|0;a=q[zi+20>>2];if((q[zi+24>>2]-a|0)<1){break a}Zk=q[a>>2]}return Zk}function cl(a){var zi=0,_k=0;zi=q[a+20>>2];a:{if((q[a+24>>2]-zi|0)<1){break a}zi=q[zi>>2];if((zi|0)==-1){break a}_k=q[q[a+8>>2]+(zi<<2)>>2]}return _k}function dl(a,$k){var al=0,bl=0,cl=0;al=q[a+8>>2];a=q[a+12>>2];a:{if((al|0)==(a|0)){break a}cl=a-al>>2;a=0;while(1){bl=q[(a<<2)+al>>2];if(q[bl+60>>2]==($k|0)){break a}a=a+1|0;if(a>>>0>>0){continue}break}bl=0}return bl}function el(a,$k){var dl=0,el=0;dl=q[a+8>>2];a=q[a+12>>2];if((dl|0)!=(a|0)){el=a-dl>>2;a=0;while(1){if(q[q[(a<<2)+dl>>2]+60>>2]==($k|0)){return a}a=a+1|0;if(a>>>0>>0){continue}break}}return-1}function fl(a,$k){var fl=0,gl=0,hl=0,il=0,jl=0;fl=T-16|0;T=fl;gl=a+12|0;hl=q[gl>>2];il=q[a+8>>2];jl=q[$k>>2];q[$k>>2]=0;q[fl+8>>2]=jl;n[q[q[a>>2]+8>>2]](a,hl-il>>2,fl+8|0);$k=q[fl+8>>2];q[fl+8>>2]=0;if($k){Hb($k)}T=fl+16|0;return(q[gl>>2]-q[a+8>>2]>>2)+ -1|0}function gl(a,$k,kl){a=a|0;$k=$k|0;kl=kl|0;var ll=0,ml=0,nl=0,ol=0,pl=0,ql=0;ol=T-16|0;T=ol;q[ol+12>>2]=$k;pl=a+8|0;ll=q[a+12>>2];ql=q[a+8>>2];ml=ll-ql>>2;a:{if((ml|0)>($k|0)){break a}nl=$k+1|0;if(nl>>>0>ml>>>0){hl(pl,nl-ml|0);break a}if(nl>>>0>=ml>>>0){break a}ml=ql+(nl<<2)|0;if((ml|0)!=(ll|0)){while(1){ll=ll+ -4|0;nl=q[ll>>2];q[ll>>2]=0;if(nl){Hb(nl)}if((ll|0)!=(ml|0)){continue}break}}q[a+12>>2]=ml}ll=q[q[kl>>2]+56>>2];b:{if((ll|0)>4){break b}ll=w(ll,12)+a|0;ml=ll+24|0;a=q[ml>>2];if((a|0)!=q[ll+28>>2]){q[a>>2]=$k;q[ml>>2]=a+4;break b}il(ll+20|0,ol+12|0)}$k=q[kl>>2];a=q[ol+12>>2];q[$k+60>>2]=a;ll=q[pl>>2];q[kl>>2]=0;kl=ll+(a<<2)|0;a=q[kl>>2];q[kl>>2]=$k;if(a){Hb(a)}T=ol+16|0}function hl(a,$k){var kl=0,rl=0,sl=0,tl=0,ul=0,vl=0,wl=0,xl=0,yl=0;rl=q[a+8>>2];sl=a+4|0;kl=q[sl>>2];if(rl-kl>>2>>>0>=$k>>>0){a=$k<<2;xl=sl,yl=Dn(kl,0,a)+a|0,q[xl>>2]=yl;return}a:{sl=q[a>>2];tl=kl-sl>>2;ul=tl+$k|0;if(ul>>>0<1073741824){tl=tl<<2;rl=rl-sl|0;wl=rl>>1;rl=rl>>2>>>0<536870911?wl>>>0